DataSource이해

학습 페이지

커넥션을 얻는 방법은, DirverManager를 사용하거나, 커넥션 풀을 사용하는 등 다양한 방법이 존재한다.

실제 코드 수준에서, 커넥션 풀을 이용해 커넥션을 어떻게 가져올까?

커넥션을 가져오는 방법을 바꾼다는건 결국 구현체에 대한 의존성을 변경한다는 것과 마찬가지이다.

이는 좋지 않은 일이다… 그래서 커넥션을 얻어오는 방법도 이미 다 추상화 되어있다!

그리고 그게 바로 DataSource 인터페이스이다…

image.png

💡 DataSource도 jacarta.sql 패키지에 존재한다.

다시 말하자면, DataSource는 커넥션 획득하는 방법을 추상화한 인터페이스이고, 핵심기능은 오직 커넥션 조회 하나이다.

대부분의 CP들은 이미 다 DataSource인터페이스를 구현해놨다. 따라서 개발자는 DataSource인터페이스에 의존하기만 하면 된다.

그리고 앞으로 더 좋은 DS구현체가 나오면 그냥 그걸로 갈아끼기만 하면 된다…