관리 메뉴

공부한것들을 정리하는 블로그 입니다.

5-1. DAO클래스 구현 : JdbcDaoSupprot 클래스를 상속하는 방법, JdbcTemplate 클래스를 <bean> 등록하고, 의존성 주입으로 처리하는 방법 본문

(2019) 사이드 프로젝트/BoardWeb(게시판-MVC1,MVC2,스프링MVC)

5-1. DAO클래스 구현 : JdbcDaoSupprot 클래스를 상속하는 방법, JdbcTemplate 클래스를 <bean> 등록하고, 의존성 주입으로 처리하는 방법

호 두 2019. 6. 19. 10:40
반응형

 

스프링 JDBC를 이용하기 위한 모든 설정이 마무리됐으면, 이제 JdbcTemplate 객체를 이용하여 DAO 클래스만 구현하면 됩니다. 그런데 DAO 클래스에서 JdbcTemplate 객체를 얻는 방법은 두가지 입니다.

 

1번째 방법. JdbcDaoSupprot 클래스를 상속하는 방법

2번째 방법. JdbcTemplate 클래스를 <bean> 등록하고, 의존성 주입으로 처리

 

 

 

 

1번째 방법. JdbcDaoSupprot 클래스를 상속하는 방법

 

 

참고로 @Autowired 어노테이션은 주로 변수 위에 선언하는데 메소드 위에 선언해도 동작합니다. 메소드 위에 @Autowired를 붙이면 해당 메소드를 스프링 컨테이너가 자동으로 호출해주며, 이때 메소드 매개변수 타입을 확인하고 해당 타입의 객체가 메모리에 존재하면 그 객체를 인자로 넘겨줍니다.

 

 

 

 

 

2번째 방법. JdbcTemplate 클래스를 <bean> 등록하고, 의존성 주입으로 처리

 

일반적으로 사용하는 방법은 이 2번 방법입니다. 

먼저 스프링 설정파일에 JdbcTemplate 클래스를 <bean> 등록합니다.

 

 

이때 반드시 JdbcTemplate 객체에 DataSource 객체를 의존성 주입해야 합니다. 그러고 나서 DAO 클래스에서는 @Autowired 어노테이션을 이용하여 JdbcTemplate  타입의 객체를 의존성 주입 처리하면 됩니다.

 

 

JdbcDaoSupprot 클래스를 상속하는 1번째 방법보다는, 의존성을 주입하는 2번째 방법이 조금 더 깔끔하고 일반적으로 더 자주 쓰입니다.

 

DAO를 수정 후 BoardServiceClient 프로그램을 구동시켜보면 정상 동작하는 것을 확인 가능하다

 

 

반응형
Comments