들어가며


오픈 소스나 상용 제품 등에서 사용 방법과 형식은 다르지만 기능과 목적이 유사한 기술이 존재한다. 환경과 상황에 따라 기술은 바뀌는데 그에 따라 다른 API를 사용하는 일은 매우 피곤한 일이다. 스프링은 성격이 비슷한 여러 종류의 기술들을 추상화하고 이를 일관된 방법으로 사용할 수 있도록 지원하는데 이에 대해 알아보도록 하자.

1절 사용자 레벨 관리 기능 추가


2절 트랜잭션 서비스 추상화


공통점이 있다면 이를 추상화해서 하위 계층에 대한 분리를 만들 수 있다. 이를 통해 하위 시스템이 바뀌더라도 일관된 방법으로 접근할 수 있게 된다.

대표적으로 PlatformTransactionManager

3절 서비스 추상화와 단일 책임 원칙


기술과 서비스에 대한 추상화 기법을 사용하면 특정 기술환경에 종속되지 않는 포터블한 코드를 만들 수 있다.

4절 메일 서비스 추상화