토비의 스프링 Vol.1 - 11장 부록B. 스프링 의존 라이브러리
스프링 의존 라이브러리
스프링 3.0과 스프링 3.1에는 스프링 모듈 외에도 100여 개의 의존 라이브러리가 존재한다. 이 의존 라이브러리는 스프링 프레임워크를 빌드하고 테스트하는 데 필요한 라이브러리다. 스프링 애플리케이션을 개발하고 운영할 때는 이 외에도 다양한 많은 라이브러리가 추가로 필요할 수 있다.
Beginner Web Developer
스프링 3.0과 스프링 3.1에는 스프링 모듈 외에도 100여 개의 의존 라이브러리가 존재한다. 이 의존 라이브러리는 스프링 프레임워크를 빌드하고 테스트하는 데 필요한 라이브러리다. 스프링 애플리케이션을 개발하고 운영할 때는 이 외에도 다양한 많은 라이브러리가 추가로 필요할 수 있다.
스프링 프레임워크는 20개의 작은 모듈로 세분화되어 있다. 스프링을 사용하는 목적과 환경, 사용 기술에 따라 필요한 모듈을 선택해 사용해야 한다. 또, 모듈 사이의 의존관계도 이해할 필요가 있다.
스프링으로 만들 수 있는 애플리케이션의 종류에는 제한이 없다. 자바 언어를 사용하는 모든 종류의 프로젝트라면 어디든 사용할 수 있다. 웹을 이용하는 자바 엔터프라이즈 시스템 개발, 스윙이나 이클립스 RCP로 만드는 독립형 프로그램, 사용할 수 있는 기능에 제한이 있기는 하겠지만 애플릿이나 모바일 애플리케이션 개발에도 이용할 수 있다.
자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크
스프링은 오픈소스의 장점을 충분히 취하면서 동시에 오픈소스 제품의 단점과 한계를 잘 극복하고 있는, 전문적이고 성공적인 오픈소스 소프트웨어라고 할 수 있다.
SQL 변경이 필요한 상황이 발생하면 SQL을 담고 있는 DAO 코드가 수정될 수밖에 없다.
스프링은 설정을 이용해 빈에 값을 주입해줄 수 있다. SQL은 문자열로 되어 있으니 설정파일에 프로퍼티 값으로 정의해서 DAO에 주입해줄 수 있다. 이렇게 하면 설정파일에 있는 SQL을 코드와는 독립적으로 수정할 수가 있다.
public class UserDaoJdbc implements UserDao {
private String sqlAdd;
public void setSqlAdd(String sqlAdd) {
this.sqlAdd = sqlAdd;
}
}
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());
)
}