하이... 오늘은 실무에서 일하시는 분들이라면 알면 좋은 내용에 대해 작성해보려고 한다.
혼자 개발하는 개발자라면 상관없겠지만, 실무에서는 보통
로컬 환경, 개발 환경, 테스트 환경 , 운영 환경 다양한 환경에서 프로젝트를 수행한다.
Spring Boot 를 이용하는 개발자들이라면 다들 아시겠지만
application.yml 파일에 설정을 별도로 해주어 이런 환경 구분이 가능하다.
일단 test 전용으로 yml 파일도 하나 복사해서 만들어주자.
그리고 내부에 test > resources 디렉토리에 있는 yml 에는
`````
spring:
profiles:
active: test
`````
를 추가해주고, main > resources 에는
`````
spring:
profiles:
active: local
`````
이렇게 추가해주자. 보통 local, dev, test, onl 이런식으로 나눠준다.
그리고 이제 @Profile 어노테이션을 이용해서 특정한 환경에서만 구동되는 로직을 작성할 수 있다.
예를 들어서 내가 local 환경에서 테스트를 위해서 임시 데이터를 넣는 로직이 필요하다고 가정하자.
@Profile("local")
@Component
@RequiredArgsConstructor
public class InitData {
private final InitDataService initDataService;
@PostConstruct
public void init() {
initDataService.init();
}
@Component
static class InitDataService{
````
@Transactional
public void init() {
//임시 데이터 입력
}
`````
}
}
이제 이런식으로 클래스를 하나 만들고 , Spring Boot를 실행 하면 local 환경에서는 저 데이터 초기화 하는 로직이 돌게 되는 것이다.
끝.
반응형
'Develop > Spring' 카테고리의 다른 글
[Spring Cloud MSA] Eureka Server 구동하기 (0) | 2021.09.10 |
---|---|
[JPA] Entity의 4가지 상태 (0) | 2021.08.08 |
[querydsl] batch 성 거래 처리하기 (0) | 2021.07.08 |
[querydsl] 동적 쿼리 만들기 (0) | 2021.07.08 |
[querydsl] querydsl에서 projection 다루기 (0) | 2021.07.07 |
댓글