Life Developer
인생 개발자
DataSource

순수 jdbc로 데이터베이스에 접근을 하면, 데이터베이스에 접근할 때마다 connection을 맺고 끊는 작업을 한다. 이 connection을 맺고 끊는 작업을 줄이기 위해 미리 connection을 생성해 두고, 데이터베이스에 접근하고자 하는 사용자에게 미리 생성된 connection을 제공하고 돌려받는다. 이 connection들을 모아두는 장소를 connection pool이라 하며, Datasource는 java 에서 connection pool을 지원하기 위한 인터페이스이다.

 

 

컨넥션 풀링을 지원하는 DataSource
컨넥션풀링-미리 정해진 개수만큼의 db 컨넥션, 미리 pool에 준비해놓고 app이 필요할때 빌려줬다가 받는기법.
웹앱에서는 반드시 컨넥션풀링을 지원하는 DataSource 사용해야함.
Spring에서는 DataSource를 공유가능한 Spring Bean으로 등록해주어 사용할수 있도록 해준다.

DataSource 구현 클래스 종류
SimpleDriverDataSource - 가장 단순한 DataSOurce 구현 클래스
단순한 테스트용.

SingleConnectionDriverDataSource - 순차적으로 진행되는 통합 테스트에서는 사용 가능하다.
매번 DB 커넥션을 생성하지 않기 때문에 SimpleDriver보다는 조금 더 빠르다.

오픈소스 DataSource
Apache Commons DBCP - 가장 유명한 오픈소스 DB 커넥션 풀 라이브러리
c3p0 DataSource Resource Pool
두 가지 모두 수정자(setter) 메서드를 제공하므로 Spring Bean으로 등록해서 사용하기 편리하다.


'Developer' 카테고리의 다른 글

javascript curry함수, 커링이란?  (0) 2020.08.05
Spring JDBC란?  (0) 2020.08.03
프로젝트 아키텍쳐  (0) 2020.08.03
함수형 프로그래밍  (0) 2020.08.03
고차함수란?  (0) 2020.07.31
  Comments,     Trackbacks