728x90
Spring은 Java 언어로 구현된 오픈 소스 프레임워크로서, 다음과 같은 특징을 가지고 있습니다.
- 경량 컨테이너: 스프링은 객체의 생명주기와 설정, 관리 등을 담당하는 컨테이너입니다. 이 컨테이너는 EJB와 같은 무겁고 복잡한 컨테이너와는 달리, 가볍고 간단한 구조를 가지고 있습니다.
- Inversion of Control(IoC): 객체 간의 의존성을 낮추기 위해, 객체가 직접 자신이 필요로 하는 의존 객체를 생성하지 않고, 외부에서 생성하여 주입하는 방식을 IoC라고 합니다.
- 의존성 주입(Dependency Injection, DI): 객체가 직접 의존하는 객체를 생성하지 않고, 외부에서 의존 객체를 주입하는 방식을 의존성 주입이라고 합니다. 스프링은 이를 지원하기 위해 다양한 방법을 제공합니다.
- 관점 지향 프로그래밍(Aspect-Oriented Programming, AOP): 객체의 메서드 호출과 관련된 부가 기능(로깅, 보안, 트랜잭션 등)을 공통적으로 적용할 수 있는 방법을 제공하는 프로그래밍 기법입니다. 스프링은 AOP를 적용하여 로깅, 보안, 트랜잭션 처리 등의 부가 기능을 쉽게 구현할 수 있도록 지원합니다.
- 스프링 MVC: 스프링은 웹 애플리케이션 개발을 위한 다양한 기능을 제공하는 스프링 MVC를 제공합니다. 스프링 MVC는 개발자가 쉽게 컨트롤러, 뷰, 모델 등을 구성하여 웹 애플리케이션을 개발할 수 있도록 지원합니다.
- 스프링 부트: 스프링 부트는 스프링 기반의 애플리케이션을 간편하게 개발할 수 있도록 도와주는 도구입니다. 스프링 부트를 사용하면 애플리케이션 설정, 의존성 관리, 서버 설정 등을 쉽게 처리할 수 있습니다.
728x90
'Programming > SpringBoot' 카테고리의 다른 글
DisplatcherServlet 동작 순서 (0) | 2023.02.24 |
---|---|
[Spring] 빈과 컨테이너 (0) | 2023.02.24 |
[Spring] AOP는 프록시 객체를 이용하여 구현하는 이유는? (0) | 2023.02.24 |
[Spring] AOP란? (0) | 2023.02.24 |
@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor (0) | 2023.02.23 |