Spring Boot JDBC
spring boot에서 JDBC를 사용하는 방법에 대해서 살펴본다
Spring Boot JDBC
Spring Boot JDBC를 사용하기 위해서는 다음과 같은 의존성이 필요하다.
org.springframework.boot spring-boot-starter-jdbc
com.oracle.database.jdbc ojdbc8
빌드 프레임워크에 따라 다음과 같이 추가하거나 프로젝트 생성 화면에서 설정한다.
spring-boot-starter-jdbc
를 설정할 경우 다음과 같이 종속된 의존성이 추가된다.
프로젝트 생성
boot05jdbc
프로젝트를 생성한다.
프로젝트 정보 입력
Maven일 경우 추가되는 항목
Gradle일 경우 추가되는 항목
기본 설정 사용
Spring Boot에서는 제공되는 설정을 통해 JDBC 설정을 수행할 수 있다.
application.properties
Configuration 생성
제공되는 설정 외 직접 구현하고 싶은 경우에는 @Configuration
을 생성하여 도구를 직접 등록할 수 있다.
Package 생성
Configuration class 생성
생성한 패키지 내부에 DatabaseConfiguration
이라는 이름으로 클래스를 작성한다.
Bean 생성
Configuration 내부에 @Bean
생성 코드를 작성한다.
생성된 Bean은 Spring에서 자체적으로 Component scan을 통하여 Spring Container에 등록하므로 프로젝트 내 어디서든 사용 가능하다. 또한 Bean 생성 시 매개변수로 선언된 항목들은 Spring에서 가능한 요소를 찾아서 주입(Injection) 처리한다.
Configuration 생성 시 주의사항
package의 경우 프로젝트 생성 시 입력하는 기본 패키지이거나 그 하위 패키지여야 한다. 만약 해당 패키지가 아닐 경우에는 별도로 @ComponentScan
을 추가해야 한다.
등록된 Bean 확인
Spring Actuator를 통해 등록된 Bean을 확인할 수 있다. 위의 두 가지 방법 중 하나를 사용하여 등록하였다면 다음과 같이 등록된 bean에서 찾을 수 있다. 이 문서에서는 Configuration 생성방식으로 구현하였다.
Bean 사용
등록이 완료된 Bean은 다음과 같은 Annotation으로 사용할 수 있다.
@Autowired
- 일치하는 타입의 대상을 찾아 주입하는 Annotation@Qualifier
-@Autowired
와 같이 사용하여 대상의 식별 ID를 사용하여 주입하는 Annotation
원하는 클래스 내부에 다음과 같이 필드를 선언하여 사용한다.
@Qualifier
와 같이 사용할 경우는 다음과 같이 작성한다.
일반적으로 @Qualifier
는 동일한 타입의 객체가 두 개 이상이어서 @Autowired
만으로 식별이 불가능한 상황일 경우 사용한다.
Last updated