본문 바로가기

스프링/스프링 부트

(5)
[Spring Boot]테스트 코드 @Test : 테스트용 메소드를 표현하는 어노테이션@BeforEach : 각 테스트 메소드가 시작되기 전에 실행되어야 하는 메소드를 표현@AfterEach : 각 테스트 메소드가 시작된 후 실행되어야 하는 메소드를 표@BeforAll : 테스트 시작 전에 실행되어야 하는 메소드를 표현 (static 처리 필요)@AfterAll : 테스트 종료 후에 실행되어야 하는 메소드를 표현 (static 처리 필요)@Disabled : 테스트를 실행하지 않  주요 어노테이션 @SpirngBootTest - 통합 테스트 용도로 사용- @SpringBootApplication을 찾아가 하위의 모든 Bean을 스캔하여 로드함- 그 후 Test용 Application Context를 만들어 Bean을 추가하고, MockBe..
[Spring Boot] intellij 프로젝트 생성 스프링부트 코드를 익히고자 게시판 생성 프로젝트 실습 [개발환경]jdk 17mysqlmybatisthymeleaf   File - New - Project  -Spring Boot DevTools  :  코드 수정 후 재시작 필요없이 실시간으로 리로드 하는 기능-Lombok : 생성자 및 getter setter 생성 slf4j 활용-Spring Web : mvc 활용 할수있도록 필수.  build.gradleview 테스트시 404 , 템플릿 엔진 의존성이 자동으로 추가가 안된듯함 나는 따로 추가해줌thymeleaf 추가implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'   Settings -Build, Execution, D..
[Spring Boot] 외부설정과 프로필 -3 (@Profile) 설정값 뿐만아니라 각 환경마다 서로 다른 빈을 등록해야할 경우예) 로컬 : 가짜결제기능 있는 스프링 빈 등록      운영 : 실제 결제기능을 제공하는 스프링 빈 등록default 프로필(기본값)이 활성화 되어 있으면 LocalPayClient를 빈으로 등록한다.prod 프로필이 활성화 되어 있으면 ProdPayClient를 빈으로 등록한다.@Profile은 내부적으로 @Conditional 을 사용함을 확인할 수 있다.
[Spring Boot]외부설정과 프로필-2 (Environment,@Value,@ConfigurationProperties) `application.properties`운영,개발 환경 파일 분리하여 사용할 경우 파일의 이름을 해당 형태로 지정한다application-{profile}.properties`  설정파일을 각각 분리해서 관리하면 한눈에 전체가 들어오지 않는 단점이있다.스프링은 이런 단점을 보완하기 위해 물리적은 하나의 파일 안에서 논리적으로 영역을 구분하는 방법을 제공한다. properties#---  또는 !---선행 고백이 없어야하며 위아래에 주석을 적으면 안된다.  프로필 정보가 없는 첫번째 영역은 기본값문서를 위에서 아래로 순서대로 읽으면서 사용할 값을 설정함. (동일한 프로필일경우 덮어씌여진다.)  yml--- 로 구분     **스프링이 지원하는 다양한 외부 설정 조회 방법** `  Environment`..
자동구성 (Auto Configuraton) 스프링 부트는 자주사용하는 수많은 빈들을 자동으로 등록해주는 기능을 제공한다.(jdbc등등...)자동구성은 라이브러리를 만들어서 제공할때 거의 사용하므로 거의 사용하는 일이 거의 없다. 자동 구성을 알아야 하는 이유?개발을 진행하다 보면 사용하는 특정 빈들이 어떻게 등록된 것인지 확인이 필요할때가 있다.이럴때 스프링 부트의 자동 구성코드를 읽을 수 있어야 함. 자동구성을 직접 만들어 사용할때 다음을참고하자. @AutoConfiguration-자동구성 사용시 애노테이션 등록-after을 사용하여 자동구성이 실행되는 순서를 정할 수 있다.@AutoConfiguration(after=DataSourceAutoConfiguration.class)=> DataSourceAutoConfiguration.class ..