getConnection 의 추상화 인터페이스로 분리
UserDao를 상속받는 Concreate Class MyUserDao 구현
실행단계에서 MyuserDao를 UserDao로 Upper Casting 하여 사용
getConnection 구현의 분리로 불필요한 import 제거
DB Connection 별도 Interface로 분리
MyUserDao Depredcate
UserDao 를 변경된 DBConnection Interface를 사용한
MyDBConnection을 사용하도록 변경
테스트코드를 별도의 Client Class로 분리
UserDao에서 DBConnection 생성 Class에 대한 의존성 제거
UserDao Instance 생성을 별도의 Factory Class로 분리
remove deprcated class
Spring IoC를 사용하도록 DaoFactory Bean Annotation 설정
Spring IoC 를 이용한 방식으로 UserDao를 생성하도록 테스트코드 변경
Error
ERROR Solve
either add CGLIB to the classpath or remove the following @Configuration
bean definitions
create instance 비교
- Directly & ApplicationContext.getBean()