WEB/Spring

Spring 총정리 2.Spring 3대 작동원리

Spring Container

Servlet에서 1:1mapping을 보안해서 자동으로 분기, 자동으로 생성화면 이동이 가능합니다.

여기서 이 Controller는 다양한 요청을 제어하여 J2EE Pattern: frontController 라고 합니다.

 

Business Layer에서 handler mapper를 잊고 그리지 않았는데 알아두어야 합니다.

Handler Mapping : dispatcherSevlet으로 받은 요청 -> Controller 보냄-> 요청이 어떤 매핑인지 그 방법을 정해주는 클래스 입니다.

 

Spring 3대 작동원리에 대해 알아보겠습니다.

 

1. DI/IoC

- Bean Spring 사용할 수 있도록 등록

- Life-Cycle을 따라가지 않고 사용

POJO를 Spring bean혹은 @Annotation을 통해서 등록

- DI : Bean등록, 컨테이넌가 작동될 때 미리 등록한다.

- IoC : 스프링 컨테이너가 필요로 할때 자동으로 가져와서 주입한다.

 

2. AOP

어떠한 로직의 기준으로 핵심이 되는 기능과 부가적인 기능을 구분한다.

CC (Core Concern 주관심사) CCC(Cross-Cutting Concern 관점외 관심사)
Bean, Process, Mybatis ... Log, Exception, Transaction ...

트랜잭션 : 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위를 뜻한다.

 

AOP용어

Aspect CCC를 모듈화

Target Aspect가 작동되는 곳

Advice 어떤 작업을 해야 할 지 선택하는것, 부가기능을 담은 구현체

JoinPoint 끼어들 수 있는 위치

PointCut 구체적인 실행될 시점

 

- aspect(모듈화)

  -target(대상 클래스, 매서드)

     -advice(실행되는 메서드)

        -joinpoint()

        -pointcut()

 

AOP 실행 시점

Before , After, AfterReturning, AfterThrowing, Around

 

3. OCP

객체지향 설계의 5원칙이라 하는 SOLED에서 

OCP(Open Closed Principle) 개방 폐쇄 원칙이다.

소프트웨어 요소는 황장에는 열려 있으나 변경에는 닫혀 있어야 한다.

클래스, 모듈 함수 등은 확장에 대해 열려 있어야 하지만 변경에 대해서는 닫혀 있어야 한다.

- interface를 통해 구현하는 방식

 

'WEB > Spring' 카테고리의 다른 글

Mapper Interface?  (0) 2020.07.23
Spring 총정리 3.Annotation  (0) 2020.06.13
Spring 총정리 1.Spring에 기반이 되는 Servlet  (0) 2020.06.06
이미지 업로드 (Spring+Ajax)  (1) 2020.05.16
세션 저장소  (0) 2020.04.29