[ 스프링 프레임워크란? ]
자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로 간단하게 스프링이라고도 불린다
동적인 웹 사이트를 개발하기 위한 여러가지 서비스를 제공
[ Spring Framework의 특징 ]
1. IOC ( Inversion of Control) : 제어 반전
-> 컨트롤의 제어권이 개발자가 아니라 프레임워크에 있다는 뜻으로 객체의 생성부터
모든 생명주기의 관리까지 프레임워크가 주도하고 있다. 객체를 생성하고 직접 호출하는 프로그램이 아니라, 만들어둔 자원을 호출해서 사용한다
2. DI ( Dependency Injection) : 의존성 주입
-> 설정 파일이나 어노테이션을 통해 객체간의 의존 관계를 설정하여 개발자가 직접 객체를 생성할 필요가없다.
3. POJO (Plain Old java Object)기반 프레임워크 :
-> J2EE, EJB 와 같은 특정 기술이나 라이브러리의 내용을 상속받아 클래스를 구현하지 않고 일반적인 기본 기능만을 가진 순수한 자바 객체를 의미한다. 특정 클래스에 종속되지 않으므로 자바의 객체지향적 설계가 쉬워지고,
코드길이 감소, 유지보수성 증가, 기존 Java API, 라이브러리 지원에 용이하다.
4. Spring AOP (Aspect Oriented Programming) : 관점 지향 프로그래밍
-> 트랜잭션, 로깅, 보안 등 여러 모듈, 여러 계층에서 공통으로 필요로하는 기능의 경우 해당 기능들을 분리하여 관리
5. Spring JDBC -> Mybatis나 Hibermate 등의 데이터베이스를 처리하는 영속성 프레임워크와 연결 인터페이스 제공
6. Spring MVC -> MVC 디자인 패턴을 통해 웹 어플 M V C 사이의 의존 관계를 DI 컨테이너에서 관리하여 개발자가 아닌 서버가 객체들을 관리하는 웹 어플을 구축할 수 있다.
7. PSA -> 스프링은 여러 모듈을 사용함에 있어 별도의 추상화 레이어를 제공한다.
[ Spring MVC 요청 처리 과정 ]
1. Client 웹 브라우저에서 Request 보냄
2. 서블릿 컨테이너 Dispatcher Servlet <-> Handler Mapping 스프링 컨테이너
3. Mapping되는 Controller -> 로직 실행 ->View Resolver
4. 반환할 view 리턴 -> Response
'개발자로 업그레이드 되자 > Spring이론' 카테고리의 다른 글
Spring 이론 (3) 스프링 애너테이션 (0) | 2022.01.16 |
---|---|
Spring 이론 (2) 스프링 동작 과 Bean / 싱글톤 패턴 (0) | 2022.01.16 |
Spring 이론 (1) 스프링과 객체지향 (0) | 2022.01.07 |