코드로 배우는 스프링부트 웹 프로젝트

먼저 인텔리제이에서 만든 프로젝트의 폴더로 이동 dir명령어로 목록확인 후 gradlew파일을 확인한 후 gradlew build 빌드 완료 후 build 파일안의 libs파일로 이동 libs파일내에 있는 jar파일 확인 후 " java -jar jar파일이름.jar " 스프링부트 실행완료
우선 예제를 위해 아래와같이 프로젝트를 생성해준다. Controller package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HelloController { @GetMapping("hello") public String hello(Model model){ model.addAttribute("data","hello!!"); //hello.html에 있는 ${data}가 hello!!로 치환됨..
웹을 사용하면서 겪는 여러 불편함 중 가장 많이 겪는 어려움은 매번 비밀번호를 기억해야 한다는 점이 있다. 따라서 OAuth 서비스를 이용하여 로그인을 처리하면 사용자 관리에 대한 부담을 줄일 수 있다. [ OAuth(Open Authorization) ] : 서비스를 제공하는 업체들이 각자 다른 방식으로 로그인하지 않도록 공통의 인증 방식을 제공하는 것 웹 내에서 로그인을 구글과 연동하여 프로젝트 생성한다. 1.구글에 프로젝트(서비스)를 등록 OAuth 클라이언트 ID를 만든 후 구글에서 인증된 정보를 다시 현재 프로젝트에 보내는 '리디렉션 URI'를 지정한다. 리디렉션URI를 지정하면 클라이언트ID와 비밀번호가 생성되는데 이를 기억한다. 2.프로젝트 내 구글 설정 2-1.build.gradle 수정 ..
먼저, 예제를 위해 엔티티 클래스를 생성한다. ClubMember.class @Entity @Builder @AllArgsConstructor @NoArgsConstructor @Getter @ToString public class ClubMember extends BaseEntity{ @Id private String email; private String password; private String name; private boolean fromSocial; @ElementCollection(fetch = FetchType.LAZY) @Builder.Default private Set roleSet = new HashSet(); // ClubMember타입으로 HashSet 생성 // HashSet은..
스프링 시큐리티를 이용하는 모든 프로젝트는 이를 위한 별도의 시큐리티 설정 클래스를 사용하는 것이 일반적이다. 따라서 진행할 예제의 프로젝트에 SecurityConfig 클래스를 추가해준다. @Configuration @Log4j2 public class SecurityConfig extends WebSecurityConfigurerAdapter { // 모든 시큐리티 관련 설정을 추가하는 곳 } 시큐리티 관련 기능을 쉽게 설정하기 위해 WebSecurityConfigurerAdapter 클래스를 상속 처리한다. WebSecurityConfigurerAdapter 클래스는 주로 override를 통해서 여러 설정을 조정한다. 위의 클래스에는 모든 시큐리티 관련 설정이 추가되는 부분이 된다. 먼저, Sam..
[ Redirect ] 먼저, 리다이렉트(Redirect)의 정의를 알고간다. 리다이렉트란 말 그대로 re(다시) + 지시하다(direct) 다시 지시하는 것을 말한다. 예를 들어 브라우저가 "www.test.com/page1" URL을 웹 서버에 요청했다. 서버는 HTTP 응답 메시지를 통해 "www.test.com/page2 로 다시 요청하라"~ 라고 브라우저에게 다른 URL(길, 방향)을 지시할 수 있다. 순서는 밑의 그림과 같다. HTTP 리다이렉트는 HTTP 표준으로 정의 되어 있는데 최초 요청을 받은 1.웹서버는 HTTP 응답 상태코드로 302를 보내고 응답 메시지 헤더 중 2.Location 값으로 리다이렉트 되어야 할 주소를 설정해 리턴한다. 브라우저등의3.웹 클라이언트는 HTTP 응답 메..
먼저 @PostMapping은 @RequestMapping(method = RequestMethod.POST ...)와 똑같다. @RestController @RequestMapping("api") public class DemoController { @RequestMapping(method = RequestMethod.POST, path = "/postMethod") public String postMethod() { return "Hello Spring"; } @PostMapping("/postMethod2") public String postMethod2() { return "Hello Spring"; } 함께 받아야하는 데이터가 있다면 , @RequestBody를 이용한다. 예제를 위해 VO객체를..
먼저 , intelliJ에 아래와 같이 spring프로젝트를 생성한다. 처음 Application을 실행하면 아래와 같은 오류가 뜨게 된다. 이는 데이터베이스를 사용하기 위한 dependency가 존재하는 경우 @SpringBootApplication 에서 자동으로 데이터베이스 값을 설정하려고 시도하지만 사용자는 데이터베이스 값을 입력을 안했기에 발생하는 에러이다. 따라서 해결방법으로 직접 DB를 넣어주거나 spring.datasource.driver-class-name=org.mariadb.jdbc.Driver spring.datasource.url=jdbc:mariadb://localhost:3306/bootex spring.datasource.username=bootuser spring.dataso..
HDev
'코드로 배우는 스프링부트 웹 프로젝트' 카테고리의 글 목록