///////
Search
🔂

DataSource, 익명클래스 적용(deleteAll(), add()), JdbcContext 클래스 분리

DataSource

connectionPool을 관리할 목적으로 사용되는 인터페이스

connectionPool

효율적인 서버 자원 이용을 위해 DB와 연결된 connection들을 미리 만들어 저장하는 곳

SimpleDriverDataSource

표준 JDBC DataSource 인터페이스의 간단한(simple) 구현체. bean properties(속성)을 통해 일반 JDBC Driver를 구성하고 모든 getConnection 호출에서 새로운 Connection을 반환

JDBC Driver

자바 애플리케이션과 DBMS 연동을 담당하는 인터페이스. (DBMS 종류별로 알맞는 Driver 구현체가 필요함)

DataSource 실습

기존 UserDao (ConnectionMaker 의존)

새로운 UserDao (DataSource 의존)

기존 UserDaoFactory (ConnectionMaker 의존)

새로운 UserDaoFactory (DataSource 의존)

익명클래스 적용

익명클래스

이름이 없으며, 재사용하지 않는 객체. (주로 단발성 목적으로 사용됨)
단 하나의 클래스를 상속받거나 단 하나의 인터페이스만을 구현할 수 있고, 객체를 생성해서 반환.

기존 DeleteAllStrategy(StatementStrategy 구현체)

StatementStrategy 구현한 클래스를 내부클래스로 전환

기존 AddStrategy(StatementStrategy 구현체)

StatementStrategy 구현한 클래스를 내부클래스로 전환

JdbcContext 클래스 분리

JdbcContext 클래스

UserDao 클래스

UserDao가 JdbcContext를 의존하게 변경됨