반응형

 

DataSource란?

DataSource가 없을 때에는 JDBC를 사용하여 DB에 접근할 때마다 Connection을 열고 끊고를 반복해서 사용해야 하는데, 이 Connection을 열고 끊는 작업의 횟수를 줄이기 위해 DataSource가 미리 Connection을 생성한다. 이 미리 생성한 Connection을 모아두는 곳이 바로 Connection Pool이고, 이 Connection Pool을 사용하기 위한 인터페이스가 DataSource다. 즉,  DataSource는 DB와의 연결을 해주는 역할을 하고, 스프링(Spring)은 DataSource를 통해 DB와의 Connect를 획득한다.

 

Connection Pool이란?

Connection Pool은 위에서 설명한 것과 같이, DB에 접근할 때마다 Connection을 열고 끊고를 계속적으로 반복해야 한다. 그렇게 되면, DB를 연결하는데 시간이 오래 걸리기 때문에, 각 DB의 일정량을 미리 Connection을 만들어 놨다가 DB의 Connection이 있을 경우에 Connection을 제공하는 기능을 한다. 이렇게 할 경우에 DB를 연결하는 시간을 절약할 수 있어 더 빠르게 DB에 접근할 수 있다.

 

DataSource의 Transaction

DataSource의 기능 중 하나인 트랜잭션(Transaction)이다. Service 단에 @Transactional 애노테이션을 부여하면, Service 단에서 쿼리에 문제가 있을 경우, RollBack이 되거나 정상적으로 수행했으면 Auto Commit이 되는 것처럼 사용할 수 있다.

<bean id="transactionManagerYG"
	class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
	<property name="dataSource" ref="dataSourceYG" />
</bean>
	
<tx:annotation-driven transaction-manager="transactionManagerYG"/>

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기