1. 의존성 주입 (Dependency Injection)
- 스프링에서는 개발자가 객체를 직접 생성하지 않는다.
- xml 파일에서 bean을 설정해놓으면 @AutoWired로 연결된 각 변수에 알맞은 bean을 주입한다.
- 객체 생성과 관리를 개발자가 아닌 스프링이 하는데, 이 방식을 "제어 역행(Inversion of Control)"이라고도 한다.
2. 관점 지향 프로그래밍 (Aspect Oriented Programming)
- 횡단 관심사 (cross-cutting concern)의 분리를 허용하여 모듈성 증가시키는 것이 목적인 것인 프로그래밍 패러다임
- 로그, 보안, 트랜잭션, 에러 등 핵심 관심사(Core Concern)에서 공통으로 사용되는 로직을 외부로 빼내어 공통 모듈로 생성
3. 서비스 추상화 (Portable Service Abstraction)
- 작업 환경의 변화와 상관없이 일관된 방식으로 기술에 접근할 수 있는 환경을 제공하려는 추상화 구조
- 매우 잘 만들어진 인터페이스
'Java > Spring Framework' 카테고리의 다른 글
[Spring Framework] Interceptor로 로그인 여부 확인하기 (0) | 2023.01.22 |
---|---|
[Spring Framework] Spring Legacy Project의 xml 파일들 (0) | 2023.01.20 |
[Spring Framework] MyBatis 연동하기 (0) | 2023.01.19 |
[Spring Framework] Eclipse 스프링 STS 설정하기 (0) | 2023.01.19 |
[Spring Framework] @RequestParam 과 @ModelAttribute (0) | 2023.01.15 |