-
[Spring] 프로파일 설정을 통해 샘플데이터 추가하기Spring 2022. 1. 7. 01:58
프로파일 설정
src/main/resources/application.yml
spring: profiles: active: local
src/test/resources/application.yml
spring: profiles: active: test
이렇게 분리하면 main 소스코드와 테스트 소스 코드 실행시 프로파일을 분리할 수 있다.
@Profile("local") @Component @RequiredArgsConstructor public class InitMember { private final InitMemberService initMemberService; @PostConstruct public void init() { initMemberService.init(); } @Component static class InitMemberService { @PersistenceContext EntityManager em; @Transactional public void init() { Team teamA = new Team("teamA"); Team teamB = new Team("teamB"); em.persist(teamA); em.persist(teamB); for (int i = 0; i < 100; i++) { Team selectedTeam = i % 2 == 0 ? teamA : teamB; em.persist(new Member("member" + i, i, selectedTeam)); } } } }
@Transactional과 @PostConstruct 이 서로 공존할 수 없기 때문에 service을 새로 만들어 관리해야한다.
@profile 어노테이션을 통해 이렇게 분리해서 샘플 데이터를 관리할 수 있다.
'Spring' 카테고리의 다른 글
[Spring] MultipleBagFetchExcption 발생 시 해결 방법 (0) 2022.01.09 [Spring] default_batch_fetch_size 대로 in쿼리가 나가지 않는 이유 (1) 2022.01.09 [Spring] querydsl - 수정, 삭제 벌크 연산 (0) 2022.01.05 [Spring] querydsl - 동적쿼리 만드는 법 (0) 2022.01.05 [Spring] querydsl - 프로젝션과 결과 반환 방법 (0) 2022.01.05