JAVA
[스프링] 스프링 프레임워크 특징
코린이도이
2023. 11. 1. 18:01
제어 역전(IoC, Inversion of Control)
- 객체의 생명주기 관리를 외부(Spring 컨테이너, IoC 컨테이너)에 위임
- 제어 역전을 통해 의존성 주입(DI)과 관점 지향 프로그래밍(AOP) 가능
의존성 주입 방법 3가지
- 생성자를 통한 의존성 주입
- 필드 객체 선언을 통한 의존성 주입
- setter 메서드를 통한 의존성 주입
관점 지향 프로그래밍(AOP, Aspect-Oriented Programming)
- 관점(Aspect)을 기준으로 묶어 개발하는 방식
- 주로 로깅과 트랜잭션과 같이 반복적으로 사용되는 부가 기능을 공통 로직으로 처리하도록 모듈화해 삽입
- OOP를 대체하는 개념이 아닌 OOP를 더 잘 사용하도록 돕는 개념
스프링프레임워크 특징
- POJO: 다른 기술은 사용하지 않고 순수 Java만을 통해서 생성한 객체
- 제어 역전: 객체의 생명주기 관리를 외부에 위임
- 의존성 주입: 사용할 객체를 직접 생성하지 않고 외부 컨테이너가 생성한 객체를 주입 받아 사용
- 관점 지향 프로그래밍: 로깅과 트랜잭션 같이 반복적으로 사용되는 부가 기능을 공통 로직으로 처리하도록 모듈화