Backend
Spring Framework
J1Eun
2023. 6. 1. 19:21
자바 엔터프라이즈 개발을 위한 오픈소스 애플리케이션 프레임워크. 응용프로그램 개발 프레임워크
Spring 특징
IOC(Inversion Of Control) : 제어 역행
컨트롤의 제어권이 사용자가 아니라 프레임워크에 있음.
메소드나 객체의 호출 작업을 개발자가 아닌 외부에서 결정되는 것.
DI(Dependency Injection) : 의존성 주입
각 계층 및 서비스 간 의존성이 존재하는 경우 외부에서 의존 객체를 생성해 넘겨줌. (의존성 제거)
* 기존 객체 생성
private Test test = new Test();
* DI방식으로 객체 생성
private Test test;
public Create (Test test){ this.test = test; }
* 의존성: 두 클래스 간의 관계. 서로 또는 한쪽이 영향을 받는다.
Q. 의존성이 왜 위험할까?
> 하나의 모듈이 바뀌면 의존한 다른 모듈까지 변경이 이루어진다.
- 메소드 방식(setter) – <property>태그 사용
- 생성자 방식 – <constructor-arg>태그 사용
-> @Autowired 어노테이션으로 의존성 자동 주입 가능
-> XML설정에 <context:annotation-config /> 설정 추가로 자동 주입 가능
AOP(Aspect-Oriented Programming) : 관점지향 프로그래밍
여러 모듈에서 공통적으로 사용하는 기능을 분리하여 관리 가능.
Spring module
- Spring Core
- Spring Context
- Spring DAO
- Spring ORM
- Spring AOP
- Spring Web
- Spring Web MVC