1. POJO 기반의 구성
- 객체 간의 관계를 구성할 수 있는 특징을 가지고 있다. 스프링은 다른 프레임워크들과 달리 이 관계를 구성할 떄 별도의 API등을 사용하지 않는 POJO의 구성만으로 가능하도록 제작되어있다.
2. 의존성주입(Dependency Injection)을 통한 객체간의 관계 구성
- 의존성이란 객체가 다른 객체 없이 제대로된 역할을 할 수 없다는 것이다.
예) 서빙 알바가 없으면 장사는 할 수 있지만 주방장이 없으면 장사를 할 수 없다. 이처럼 하나의 객체가(주방장) 다른 객체(장사)에 상태에 따라 영향을 받는것을 의존적이다 라고 한다.
- 주입이란 외부에서 밀어 넣는것으로
예) 장사 하기전에 식재료를 직접 사로 가거나, 외부 본사에서 식료품을 제공해주거나 2가지 방법이 있다.
의존성주입이란 어떤 객체가(장사) 필요한 객체(식재료)를 외부에서 밀어 넣어주는것을 의마한다.
- A에서 B객체를 직접 생성하는 방식
- A에서 B가 필요하다는 신호를 보내고 외부에서 B객체를 주입하는 방식
- 이 경우는 외부에서 객체를 주입해줘야 하는데 스프링에서는 "ApplicationContext"라는 존재가 필요한
객체들을 생성하고, 필여한 객체들을 주입하는 역할을 해준다. 스프링에서 "ApplicationContext"가 관리
하는 객체들을 빈(Bean) 이라고 하며, 빈과 빈 사이의 의존관계를 처리하는 방식으로 XML, 어노테이션 설정
JAVA설정 방식이 있습니다.
- 스프링에서 생성자를 이용한 주입과, setter 메서드를 이용한 주입으로 의존성을 구현합니다. 설정 방식은 주로 XML,
이나 어노테이션을 통해 처리합니다.
3. AOP(Aspect-Oriented-Programming)지원
- AOP의 주요 원칙은 "개발자가 비즈니스 로직에 집중할 수 있게 한다" 입니다. 가장 쉽게 생각 할 수 있는 것은
반복적인 코드의 제거를 생각할 수 있습니다.
- 대부분의 시스템이 공통으로 가지고 있는 보안, 로그, 트랜잭션과 같이 비즈시스 로직은 아니지만, 반드시 처리가
필요한 부분을 스프링에서 횡단-관심사(Cross-Concern) 이라하며, 스프링은 이러한 횡단 관심사를 분리하여 제작
하는 것이 가능하며, AOP(Aspect Oriented Programming)는 이러한 횡단-관심사를 모듈로 분리하는 프로그래밍
페러다임이다.
4. 편리한 MVC구조
5. WAS의 종속적이지 않은개발환경.
'dev > Spring' 카테고리의 다른 글
[Spring] SQL 어노테이션 사용, XML 사용 (0) | 2022.01.16 |
---|---|
[Spring] DI 예제1 (0) | 2022.01.11 |
[Spring] configuration 설정 (0) | 2022.01.11 |
[Spring] 페이지 이동 및 @RequestParam @ModelAttribute (0) | 2022.01.06 |
[Spring] Page 전환 (0) | 2022.01.05 |