[Spring] Spring Framework
🎮 Spring Framework
- 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 어플리케이션 프레임워크
- 동적인 웹 사이트를 개발하기 위한 여러가지 기능을 제공
🎮 Spring 특징
1. "경량 컨테이너" 로서 자바 객체를 직접 관리
- 객체의 생성 및 소멸 그리고 라이프 사이클을 관리하고 언제든 Spring 컨테이너에서 필요한 객체를 가져와서 사용 가능
2. 제어의 역전(IoC : Inversion of Control)
- 컨트롤의 제어권이 사용자가 아니라 프레임워크에 있어서 필요에 따라 스프링에서 사용자의 코드를 호출
3. 의존성 주입(DI : Dependency Injection)
- 각각의 계층이나 서비스들 간에 의존성이 존재할 경우 빈(Bean) 설정 정보를 바탕으로 컨테이너가 자동으로 설정
4. 관점지향 프로그래밍(AOP : Aspect-Oriented Programming)
- 트랜잭션이나 로깅, 보안과 같이 여러 모듈에서 공통적으로 사용하는 기능의 경우 해당ㄴ 기능을 분리하여 관리
5. POJO(Plain Old Java Object)
- 일반적이 J2EE 프레임워크에 비해 구현을 위해 특정한 인터페이스를 구현하거나 상속을 받을 필요가 없어 기존에 존재하는 라이브러리 등을 지원하기에 용이하고 객체가 가벼움
6. MVC(Model-View-Controller)
- "Spring MVC" 라는 불리는 모델-뷰-컨트롤러 패턴을 사용한다.
🎮 Spring 구조
