본문 바로가기

강의 내용 정리/Spring DB 1

4-10. 스프링 부트의 자동 리소스 등록

# 스프링부트 사용하기 전

 

스프링부트를 사용하지 않으면 이렇게 자바코드로 직접 dataSource 와 transactionManager를 빈으로 등록시켜주거나 XML로 등록 해야 했다.

 

 

 

 

 

 

# 스프링부트 사용 시

 

 

 

스프링부트는 생각보다 많은 편의 기능을 제공한다. 그 중 하나가 리소스를 자동으로 등록해주는 것이다.

 

 

 

스프링부트를 사용하지 않는다면 앞서 사용했던 dataSource, transactionManager 를 수동으로 빈으로 등록해야한다.

( 스프링은 자동으로 스프링 빈 등록 시 첫글자는 소문자 )

 

-> 스프링부트가 application.properties 나 application.yml 의 속성을 사용하여 dataSource를 생성하여 스프링 빈으로 등록한다.

 

application.yml

 

 

 

1. dataSource 자동 등록

 

- 스프링부트는 데이터소스를 스프링 빈으로 자동으로 등록한다.

- 빈 이름 : dataSource

- 개발자가 직접 dataSource를 빈으로 등록하면 자동생성하지 않는다.

- 스프링부트가 기본으로 생성하는 dataSource는 HikariDataSource이다.

 

 

 

 

 

 

 

2. transactionManger 자동 등록

 

- 스프링부트는 PlatformTransactionManger 를 자동으로 스프링 빈으로 등록한다.

- 빈 이름 : transactionManger

- 개발자가 직접 transactionManger를 빈으로 등록하면 자동생성하지 않는다.

- 어떤 transactionManger를 선택할지는 현재 등록된 라이브러리를 보고 판단한다. 

( DataSourceTransactionManger(JDBC), JpaTransactionManger(JPA) 둘 다 있으면 JpaTransactionManger를 등록한다.)

 

 

 

 

 

 

 

# 적용

 

 

 

 

실제로 dataSource, transactionManager 수동등록 코드를 없앤 후 스프링부트가 자동 등록해준 DataSource를 주입 받았다.

 

application.properties 도 꼭 설정해주자.

모든 테스트가 통과된다.

 

 

 

 

꾸준히 다시보자.

 

1. 221014

2. 221101

Recent Posts
Popular Posts
Recent Comments