데이터소스와 트랜잭션 매니저를 직접 스프링 빈으로 등록
스프링 부트가 나오면서 많은 부분이 자동화 되었다
→ 데이터소스와 트랜잭션 매니저를 자동으로 등록할 수 있게되었다
데이터소스 자동등록
스프링 부트는 데이터소스를 스프링 빈에 자동으로 등록한다.
자동으로 등록되는 스프링 빈 이름: dataSource
참고로 개발자가 직접 데이터소스를 빈으로 등록하면 스프링 부트는 데이터소스를 자동으로 등록하지 않는다.
스프링 부트가 어떻게 자동으로 등록해주나?
→ application.properties에 있는 속성을 사용해서 DataSource를 생성하고 스프링 빈에 등록한다.
스프링 부트가 기본으로 생성하는 데이터소스는 커넥션풀을 제공하는 HikariDataSource 이다. 커넥션풀과 관련된 설정도 application.properties를 통해서 지정할 수 있다.
spring.datasource.url 속성이 없으면 내장 데이터베이스(메모리 DB)를 생성하려고 시도한다.
트랜잭션 매니저 자동등록
스프링 부트는 적절한 트랜잭션 매니저( PlatformTransactionManager)를 자동으로 스프링 빈에 등록한다.
자동으로 등록되는 스프링 빈 이름: transactionManager
참고로 개발자가 직접 트랜잭션 매니저를 빈으로 등록하면 스프링 부트는 트랜잭션 매니저를 자동으로 등록 하지 않는다.
현재 등록된 라이브러리를 보고 트랜잭션 매니저를 선택하는데 JDBC 기술을 사용하면 DataSourceTransactionManager 를 빈으로 등록하고, JPA를 사용하면 JpaTransactionManager 를 빈으로 등록한다.
둘다 사용하는 경우 JpaTransactionManager 를 등록한다.
'Spring > Spring DB' 카테고리의 다른 글
체크예외 vs. 언체크 예외 (1) | 2023.10.05 |
---|---|
트랜잭션 AOP 이해 (0) | 2023.10.04 |
트랜잭션 템플릿 (0) | 2023.10.03 |
트랜잭션 추상화 (0) | 2023.10.03 |
트랜잭션 동기화 (0) | 2023.10.03 |