Springboot:@Configration과 @Bean으로 Table 초기화

Y39·2023년 3월 20일
0

TIL

목록 보기
12/15
  • 목적: 프로그램이 시작시 테이블에 초기화 값을 넣음
  • @Configuration
    • 프로그램이 실행될 때 먼저 수행됨
  • @Profile
    • 실행하고자 하는 환경을 설정
    • 현재 코드에서는 dev(개발환경), test(테스트 환경)로 profile이 설정되었을 때만 수행
    • 즉, 운영 환경에서는 수행하지 않겠다는 뜻
    • yml 아래 항목을 추가 => 개발 환경임을 명시
    spring:
    	profiles:
      	active: dev #또는 test
  • @Bean
    • IoC에 해당 메소드를 넣겠다는 의미
@Configuration
//프로그램 시작할 떄 한번씩 실행됨
@Profile({"dev", "test"}) //개발환경, 테스트 환경 실행 => 

    @Bean
    CommandLineRunner init(MemberService service){
        return args -> {
            // 스프링 부트 앱이 실행되자마자 설정처럼 실행됨
            service.join("user1", "1234");
            service.join("abc", "12345");
            service.join("test", "12346");
            service.join("love", "12347");
            service.join("like", "12348");
            service.join("giving", "12349");
        };
    }
}
  • CommandLineRunner (chapGPT에서의 설명)

    Spring Boot의 CommandLineRunner는 애플리케이션이 시작될 때 코드를 실행하도록 구현할 수 있는 인터페이스입니다. Spring Boot 애플리케이션 컨텍스트가 완전히 로드되고 시작되기 전에 일부 특정 코드를 실행하는 방법을 제공합니다.

    CommandLineRunner를 사용하려면 인터페이스를 구현하는 클래스를 만든 다음 해당 run 메서드를 재정의해야 합니다. run 메소드는 애플리케이션 컨텍스트가 로드된 후 SpringApplication의 run 메소드가 완료되기 전에 호출됩니다.

    run 메서드는 애플리케이션에 전달된 명령줄 인수를 나타내는 문자열 배열을 인수로 사용합니다. 이러한 인수를 사용하여 시작 시 애플리케이션의 동작을 제어할 수 있습니다.

profile
System.out.print("Bold")

0개의 댓글