토비의 스프링 Vol.1 - 7장 스프링 핵심 기술의 응용
2020-11-03
스프링 핵심 기술의 응용
SQL과 DAO의 분리
SQL 변경이 필요한 상황이 발생하면 SQL을 담고 있는 DAO 코드가 수정될 수밖에 없다.
XML 설정을 이용한 분리
스프링은 설정을 이용해 빈에 값을 주입해줄 수 있다. SQL은 문자열로 되어 있으니 설정파일에 프로퍼티 값으로 정의해서 DAO에 주입해줄 수 있다. 이렇게 하면 설정파일에 있는 SQL을 코드와는 독립적으로 수정할 수가 있다.
개별 SQL 프로퍼티 방식
- add() 메소드를 위한 SQL 필드
public class UserDaoJdbc implements UserDao { private String sqlAdd; public void setSqlAdd(String sqlAdd) { this.sqlAdd = sqlAdd; } }
- 주입받은 SQL 사용
public void add(User user) { this.jdbcTemplate.update( this.sqlAdd, // "insert into users..."를 제거하고 외부에서 주입받은 SQL을 사용하게 한다. user.getId(), user.getNamq(), user.getPassword(), user.getEmail(), user.getLevel().intValue(), user.getLogin(), user.getRecommend()); ) }
- 설정파일에 넣은 SQL 문장 ```