이전 UserDao 클래스에서 add() 안의 메소드를 보면 세가지 관심사항을 발견할 수 있다.
UserDao의 관심사항
1.DB와 연결을 위한 커넥션을 어떻게 가져올까라는 관심
2.사용자 등록을 위해 DB에 보낼 SQL문장을 담을 Statement를 만들고 실행하는 것
3.작업이 끝나면 사용한 리소스를 닫아주는 일
public void add(User user) throws ClassNotFoundException,SQLException{
Connection c = getConnection();
String sql = "insert into users(id,name,password) values(?,?,?)";
PreparedStatement ps = c.prepareStatement(sql);
.....
아래 메소드를 추가함으로써 add와 get에서 중복되는 커넥션 부분을 추출했다.
private Connection getConnection() throws ClassNotFoundException,SQLException{
Class.forName("org.gjt.mm.mysql.Driver");
return DriverManager.getConnection("jdbc:mysql://localhost/springbook","root","1234");
}
이정도는 금방 이해가 될꺼라 본다...하지만 다음단계부터 중요해짐.^^
'스프링프레임워크공부중 > 1부 초난감DAO 리팩토링' 카테고리의 다른 글
초난감DAO 리팩토링 3_3단게 ****관계설정 책임의 분리**** (0) | 2010.12.16 |
---|---|
초난감DAO 리팩토링 3_2단게 ****인터페이스의 도입**** (0) | 2010.12.16 |
초난감DAO 리팩토링 3_1단게 ****클래스의 분리**** (0) | 2010.12.16 |
초난감DAO 리팩토링 2단계 ****DB 커넥션 만들기의 독립**** (0) | 2010.12.16 |
리팩토리 과정 준비단계 (0) | 2010.12.16 |