Spring, SpringBoot의 특징
학원에서 배운 내용을 정리한 글입니다.
Spring Framework의 특징
핵심 개념: Java 엔터프라이즈 개발을 위한 종합적인 프로비저닝과 구성을 제공하는 프레임워크.
주요 기능
1. 의존성 주입 (Dependency Injection): 컴포넌트간의 의존 관계를 외부에서 관리하는 방식으로, 느슨한 결합을 가능하게 합니다.
2. AOP (Aspect-Oriented Programming): 교차 관심사(Cross-Cutting Concerns)를 모듈화해 관리합니다.
3. 데이터 액세스: JDBC, JPA 같은 다양한 데이터 액세스 기술을 지원합니다.
4. MVC 아키텍처: 애플리케이션의 Model, View, Controller를 명확히 분리하여 웹 애플리케이션을 유연하게 구축할 수 있습니다.
Spring Boot의 특징
자동 설정 (Auto-Configuration): Spring Boot는 의존성 추가 시 자동으로 환경을 설정하여 개발자가 비즈니스 로직에 더 집중할 수 있게 돕습니다.
1. Standalone: 내장 서버를 이용해 별도의 웹 서버 없이 독립적으로 실행 가능합니다.
2. Opinionated Defaults: 합리적인 기본값을 제공함으로써 설정 작업을 최소화합니다.
3. Spring Framework의 모듈 활용: Spring Boot는 Spring Framework의 모듈을 기반으로 하면서, 추가적인 설정 없이 여러 기능을 쉽게 사용하게 합니다.
Spring Bean 설정
Spring Bean 관리: @Bean 주석을 사용하여 메소드가 Spring IoC 컨테이너에 의해 관리되는 객체를 생성, 구성, 초기화하는 데 사용됨을 나타냅니다.
@Configuration 클래스 내에서 @Bean 주석을 사용한 메소드는 새로운 빈 객체를 정의하고 Spring 컨테이너에서 그 관리를 담당합니다.
@Autowired를 통한 자동 주입을 활용하여 의존성을 간편하게 주입할 수 있습니다.