티스토리 뷰
DataSource
DataSource
는 커넥션을 획득하는 방법을 추상화하는 인터페이스이다.
public interface DataSource {
Connection getConnection() throw SQLException;
}
커넥션을 얻는 방법으로는 JDBC DriverManager
를 직접 사용하거나, 커넥션 풀
(내부적으로 JDBC DriverManager를 이용하여 커넥션을 얻음)을 사용하는 등의 방법이 존재한다.
만약 애플리케이션 로직에서 DriverManager
를 사용하여 커넥션을 획득하다가 HikariCP
와 같은 커넥션 풀을 사용하도록 변경하면 의존관계가 DriverManager
-> HikariCP
로 변경되었기 때문에, 커넥션을 획득하는 애플리케이션 코드도 함께 변경해야 한다.
바로 이런 문제를 해결하기 위해 개발자는 추상화된 DataSource
를 통하여 커넥션을 획득하도록 하였다.
애플리케이션 로직은 DataSource
인터페이스에만 의존함으로써, DriverManager
를 사용하다가 커넥션 풀
을 사용하도록 코드를 변경해도 애플리케이션 로직은 변경하지 않게 되었다.
'Spring' 카테고리의 다른 글
[Spring] 트랜잭션 동기화 (0) | 2022.04.26 |
---|---|
[Spring] 트랜잭션 AICD (0) | 2022.04.20 |
[Spring] 커넥션 풀 (0) | 2022.04.18 |
[Spring] JDBC(Java Database Connectivity) (0) | 2022.04.17 |
[Spring] ApplicationContext (0) | 2022.03.13 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Refactoring
- 데이터베이스
- 노마드코더
- 코테
- 인프런
- kotlin
- Real MySQL
- 알고리즘
- 자료구조
- mysql 8.0
- 파이썬
- 백준
- 노마드
- 그리디
- Algorithm
- 코틀린
- MySQL
- leetcode
- 문자열
- webflux
- 구현
- 정렬
- 스프링 부트
- Spring
- spring boot
- 리팩토링
- 스프링
- 릿코드
- 북클럽
- 김영한
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함