# 스프링부트 사용하기 전
스프링부트를 사용하지 않으면 이렇게 자바코드로 직접 dataSource 와 transactionManager를 빈으로 등록시켜주거나 XML로 등록 해야 했다.
# 스프링부트 사용 시
스프링부트는 생각보다 많은 편의 기능을 제공한다. 그 중 하나가 리소스를 자동으로 등록해주는 것이다.
스프링부트를 사용하지 않는다면 앞서 사용했던 dataSource, transactionManager 를 수동으로 빈으로 등록해야한다.
( 스프링은 자동으로 스프링 빈 등록 시 첫글자는 소문자 )
-> 스프링부트가 application.properties 나 application.yml 의 속성을 사용하여 dataSource를 생성하여 스프링 빈으로 등록한다.
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
'Java, Spring > Spring DB 1' 카테고리의 다른 글
5-2. 예외 기본 규칙 (0) | 2022.10.10 |
---|---|
5-1. 자바 예외 이해 (0) | 2022.10.10 |
4-9. 트랜잭션 문제 해결 - 트랜잭션 AOP 정리 (0) | 2022.10.09 |
4-8. 트랜잭션 문제 해결 - 트랜잭션 AOP 적용 (0) | 2022.10.09 |
4-7. 트랜잭션 문제 해결 - 트랜잭션 AOP 이해 (0) | 2022.10.09 |