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