티스토리 뷰

Spring

[Spring] DataSource

hyuuny 2022. 4. 19. 00:58

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
링크
«   2024/11   »
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
글 보관함