//JDBC
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
implementation 'com.h2database:h2'
해당 어노테이션은 자동구성
하는 어노테이션이라고 앞에서 설명했다. 우리는 1번 gradle 설정에서 jdbc와 h2를 의존체를 걸어놓는 것만으로도, 스프링부트는 알아서 javax.sql.DataSource 구현체를 만든다.
위 블로그를 참고해서 정리해보자면,
스프링부트 어플리케이션은 진입전에서 스프링 빈(Bean)을 생성하며 스프링 컨테이너가 초기화하는 과정이 진행되는데
만약 이 작업 이후 가장 먼저 초기에 어떤 작업을 넣으려면 어떻게 할까?
여러가지 방법이 있지만, 나는 CommandLineRunner의 run 메소드를 Override하여 사용했다. 특히 해당 메소드는 @Component
어노테이션을 등록하여, 빈을 등록해주면 잘 된다.
물론 위 블로그를 보면 알 수 있듯 그냥 initializer에서 구현해도 되는데, 혹시 재사용을 할 가능성도 있을 것 같아서 일단 따로 구현해뒀다.