본문 바로가기
dev/Spring

[Spring] 스프링의 주요특징

by dev_Step 2022. 1. 11.

1. POJO 기반의 구성

  1. 객체 간의 관계를 구성할 수 있는 특징을 가지고 있다. 스프링은 다른 프레임워크들과 달리 이 관계를 구성할 떄 별도의 API등을 사용하지 않는 POJO의 구성만으로 가능하도록 제작되어있다.

2. 의존성주입(Dependency Injection)을 통한 객체간의 관계 구성

  1. 의존성이란 객체가 다른 객체 없이 제대로된 역할을 할 수 없다는 것이다.   

예) 서빙 알바가 없으면 장사는 할 수 있지만 주방장이 없으면 장사를 할 수 없다. 이처럼 하나의 객체가(주방장) 다른 객체(장사)에 상태에 따라 영향을 받는것을 의존적이다 라고 한다.

  1.  주입이란 외부에서 밀어 넣는것으로

예) 장사 하기전에 식재료를 직접 사로 가거나, 외부 본사에서 식료품을 제공해주거나  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