일관된 서비스 추상화
개발환경에 구애받지 않고 어떤 기술을 사용하더라도 동일한 동작을 보장하는 것
Spring은 다양한 기술을 추상화하여 어떤 환경에서도 동일하게 사용할 수 있도록 유연성을 갖춤
예시:
@GetMapping("/users") // 동일한 엔드포인트 맵핑
public String getUsers() {
// Tomcat, Jetty, Undertow 등 어떤 서버를 써도 같은 방식
}
@Transactional // 동일한 어노테이션
public void transferMoney() {
// JPA, JDBC, MyBatis 등 어떤 기술을 써도 같은 방식
}