-
[SPRING] 더미데이터를 만들어보장Spring Boot 2023. 1. 10. 15:09
더미데이터 추가하는 클래스 InitDb를 application이 있는 디렉토리 위치에 만든다.
뼈대를 그려보자.
InitDb 안에 static 클래스로 InitService를 만들고 그안에 데이터를 추가해주는 dbInit1 메서드를 만든다.
그리고 각각 빈으로 등록해준다.
@Component public class InitDb { @Component static class InitService { public void dbInit1(){ } } }
더미 데이터를 짜고 EntityManager에 persist한다.
@Component public class InitDb { @Component static class InitService { @PersistenceContext EntityManager em; @Transactional public void dbInit1(){ Member member = new Member(); member.setName("userA"); member.setAddress(new Address("서울","1","1111")); em.persist(member); Book book1 = new Book(); book1.setName("jpa1 Book"); book1.setPrice(10000); book1.setStockQuantity(100); em.persist(book1); Book book2 = new Book(); book2.setName("jpa2 Book"); book2.setPrice(20000); book2.setStockQuantity(100); em.persist(book2); } } }
이제 애플리케이션 로딩 시점에 dbInit1을 실행시켜주는 코드를 추가한다.
@Component @RequiredArgsConstructor // 👈추가 public class InitDb { private final InitService initService; // 👈추가 @PostConstruct // 👈 아래 메서드 추가 public void init(){ initService.dbInit1(); } @Component static class InitService { @PersistenceContext private EntityManager em; @Transactional public void dbInit1(){ ... 더미데이터 추가 코드 ... } } }
이렇게 구축한 상태로 서버를 실행시킨 후 h2콘솔을 확인해본다.
잘 들어와 있는 것을 확인할 수 있다.
'Spring Boot' 카테고리의 다른 글
[JPQL] JPQL이 제공하는 모든 검색 조건 (0) 2023.01.20 🔥프레임워크를 다 배운 후 필수로 배울 과제 (0) 2023.01.18 SQL 배운뒤 공부할 키워드 (0) 2023.01.09 [SPRING] 서버 실행 시 더미데이터를 생성해보장! (0) 2023.01.02 [SPRING] AOP를 사용해보장 (0) 2023.01.01