
네이버 메일에 환경설정을 들어가서 설정을 한 후 spring boot에 있는 gradle 설정을 해준다.implementation 'org.springframework.boot:spring-boot-starter-mail' 그 다음으로는 application 설정을 해준다.spring: mail: host: 사용할 host 주소 port: 위에 스크린샷에서 내리면 있는 포트번호 username: 아까 환경설정한 네이버 Id password: 아까 환경설정한 네이버 PassWord properties: mail: smtp: starttls: enable: true auth: true s..
swagger 설정을 하던 도중 ApiResponse, ApiResponses라는 어노테이션을 사용하게 되었다. 해당 어노테이션의 사용 방법은 responseCode = "200", description="OK" 이러한 방식으로 특정 responseCode가 응답될 경우 설명을 보여주는 코드인데 원래 코드에서 사용하던 내용은 아래와 같다. @ApiResponses({ @ApiResponse(responseCode = "200", description = "OK"), @ApiResponse(responseCode = "400", description = "BAD REQUEST"), @ApiResponse(responseCode = "404", description = "NOT FOUND")..

의존성 추가 implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'com.mysql:mysql-connector-j' 설정 jpa: hibernate: ddl-auto: update properties: hibernate: format_sql: true show_sql: ture defer-datasource-initialization: true ddl-auto (테이블 생성 규칙) none (데이터 베이스를 변경하지 않음) update (엔티티 변경 내용만 적용) create (서버 실행시 모두 삭제하고 다시 생성) vreate-drop (create와 같지만 서버가 종료될때 모두 삭제) validate (..

타임리프란? 위에서 말했듯 결국 MVC패턴에서 View에 해당하는 화면을 만들때 사용하는 템플릿 엔진이다. 타임리프 의존성 주입 타임리프를 사용하기 위해서는 의존성을 주입해야 하는데, https://mvnrepository.com/artifact/org.thymeleaf/thymeleaf 위 링크를 들어가 사용할 버전을 클릭후에 사용하고 있는 프로젝트 설정에 따라 추가하면 된다. 하지만 Spring Initializr(https://start.spring.io/) 사이트를 이용한다면, ADD DEPENDENCIES...를 클릭하여 사용할 내용을 입력하면 된다. 혹은 인텔리제이에서 프로젝트 생성시 추가하면 된다. 설정 경로설정 Thymeleaf를 사용할 기본 경로를 설정해야 하는데 아래 경로에 있는 res..
@ModelAttribute 어노테이션은 컨트롤러에서 model을 넘길때 사용되는데 아래 코드를 보자 @GetMapping("/") public String a(Model model){ model.addAttribute("test1","테스트1"); model.addAttribute("test2","테스트2"); return "test"; } 이런식으로 model에 test1, test2를 담아야 하는 상황이 여러번 생긴다고 생각하면 매번 코드에 작성을 해야한다. 하지만 위에서 따로 @ModelAttribute 어노테이션을 사용해서 빼두면 편하게 사용할 수 있다. 만약에 ENUM으로 테스트1, 테스트2를 설정해 두었다면 아래와 같이 사용할 수 있다. @ModelAttribute("test") public..
이전 글에서 테스트 코드 작성시 @Value를 사용하면 받아오는 데이터가 없다고 설명했다. 그 이유는 테스트클래스에 @SpringBootTest 어노테이션이 없기 떄문이다. package hello.jdbc.connection; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest; import java.sql.Connection; import stati..