You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
스프링 부트가 기본으로 생성하는 데이터 소스는 커넥션 풀을 제공하는 HikariDataSource 이다. 커넥션 풀과 관련된 설정도 application.properties를 통해서 지정할 수 있다.
spring.datasource.url 속성이 없으면 내장데이터베이스(메모리 DB)를 생성하려고 시도한다.
트랜잭션 매니저 - 자동 등록
스프링부트는 적절한 트랜잭션 매니저 (PlatformTransactionManager)를 자동으로 스프링 빈에 등록한다.
자동으로 등록되는 스프링 빈 이름 : transactionManager
참고로 개발자가 직접 트랜잭션 매니저를 빈으로 등록하면 스프링 부트는 트랜잭션 매니저를 자동으로 등록하지 않는다.
어떤 트랜잭션 매니저를 선택할지는 현재 등록된 라이브러리를 보고 판단하는데 JDBC를 기술을 사용하면 DataSourceTransactionManager 를 빈으로 등록하고 JPA를 사용하면 JpaTransactionManager 를 빈으로 등록한다. 둘다 사용하는 경우 JpaTransactionManager 를 등록한다. 참고로 JpaTransactionManager 는 DataSourceTransactionManager 가 제공하는 기능도 대부분 지원한다.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
데이터 소스와 트랜잭션 매니저를 스프링 빈으로 직접 등록
기존에는 이렇게 데이터 소스와 트랜잭션 매니저를 직접 스프링 빈으로 등록해야 했다. 그런데 스프링 부트가 나오면서 많은 부분이 자동화 되었다. 더 오래전에 스프링을 다루어왔다면 해당 부분을 주로 XML로 등록하고 관리했을 것이다.
데이터 소스 - 자동 등록
dataSource이때 스프링 부트는 다음과 가이 application.properties에 있는 속성을 사용해서 DataSource를 생성한다. 그리고 스프링 빈에 등록한다.
application.propertiesHikariDataSource이다. 커넥션 풀과 관련된 설정도application.properties를 통해서 지정할 수 있다.spring.datasource.url속성이 없으면 내장데이터베이스(메모리 DB)를 생성하려고 시도한다.트랜잭션 매니저 - 자동 등록
transactionManager어떤 트랜잭션 매니저를 선택할지는 현재 등록된 라이브러리를 보고 판단하는데 JDBC를 기술을 사용하면
DataSourceTransactionManager를 빈으로 등록하고 JPA를 사용하면JpaTransactionManager를 빈으로 등록한다. 둘다 사용하는 경우JpaTransactionManager를 등록한다. 참고로JpaTransactionManager는DataSourceTransactionManager가 제공하는 기능도 대부분 지원한다.데이터 소스, 트랜잭션 매니저 직접 등록
이번에는 스프링 부트가 제공하는 자동 등록을 이용해서 데이터 소스와 트랜잭션 매니저를 편리하게 적용해보자. 먼저
application.properties에 다음을 추가하자.데이터 소스와 트랜잭션 매니저 자동 등록
application.propertiesMemberServiceV3_4Testapplication.properties에 지정된 속성을 참고해서 데이터 소스와 트랜잭션 매니저를 자동으로 생성해준다.실행해보면 모든 테스트가 정상 수행되는 것을 확인할 수 있다.
정리
application.properties를 통해 설정도 편리하게 할 수 있다.All reactions