DataSource 이해

Ena JJJ·2023년 2월 19일
0

Spring

목록 보기
39/44

DataSource 이해

커넥션을 얻는 방법은 앞서 학습한 JDBC 'DriveManager'를 직접 사용하거나, 커넥션 풀을 사용하는 등 다양한 방법이 존재한다.



정리

  • 대부분의 커넥션 풀은 'DataSource' 인터페이스를 이미 구현해두었다. 따라서 개발자는 'DBCP2 커넥션 풀', 'HikariCP 커넥션 풀'의 코드를 직접 의존하는 것이 아니라 'DataSource' 인터페이스에만 의존하도록 애플리케이션 로직을 작성하면 된다.
  • 커넥션 풀 구현 기술을 변경하고 싶으면 해당 구현체로 갈아끼우기만 하면 된다.
  • 'DriverManager'는 'DataSource'인터페이스를 사용하지 않는다. 따라서 'DriverManager'는 직접 사용해야 한다. 따라서 'DriverManager'를 사용하다가 'DataSource'기반의 커넥션 풀을 사용하도록 변경하면 관련 코드를 다 고쳐야 한다. 이런 문제를 해결하기 위해 스프링은 'DriverManager'도 'DataSource'를 통해서 사용할 수 있도록 'DriverManagerDataSource'라는 'DataSource'를 구현한 클래스를 제공한다
  • 자바는 'DataSource'를 통해 커넥션을 획득하는 방법을 추상화했다. 이제 애플리케이션 로직은 'DataSource'인터페이스에만 의존하면 된다. 덕분에 'DriverManagerDataSource'를 통해서 'DriverManager'를 사용하다가 커넥션 풀을 사용하도록 코드를 변경해도 애플리케이션 로직은 변경하지 않아도 된다.

출처 :https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81-db-1&unitId=110071&tab=curriculum

0개의 댓글