<학습 목표>
Spring 컨텍스트를 만들고 Spring이 사용자 지정 객체 1개를 관리하도록 하기
@Configuration클래스(설정 파일)
정의
스프링 애플리케이션 컨텍스트의 구성 정보를 포함하고 있다는 것을 나타내는 어노테이션
특징
- Bean 구성 정보를 제공하고 생성
Bean
정의
- 스프링 프레임워크에서 관리되는 객체
- 스프링 애플리케이션 컨텍스트에 등록되어 다른 객체와 함께 사용될 수 있는 객체
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration //Spring설정파일, Spring의 bean을 정의하는 클래스
public class HelloWorldConfiguration {
@Bean //@Bean 어노테이션을 사용하여 빈으로 등록된 클래스
public String name() {//Bean은 Spring 컨텍스트가 관리
return "Ranga";
}
}
Spring 컨텍스트(= 컨테이너)
정의
빈 객체들을 생성하고 관리하는 컨테이너
특징
객체의 생성과 관리를 직접 처리하지 않고, 스프링 컨텍스트가 대신 처리해줌(= 의존성 관리)
기능
- 객체를 생성하고 관리(= DI)→ @Bean
- 의존성 관리
- 라이프사이클 관리
- AOP(Aspect Oriented Programming) 지원
- 다국어 처리
대표적인 컨텍스트 종류(구현체)
- AnnotationConfigApplicationContext
- XmlWebApplicationContext
- WebApplicationContext
AnnotationConfigApplicationContext클래스
정의
스프링에서 제공하는 ApplicationContext 인터페이스의 구현체 중 하나이고,
설정 클래스에서 정의한 빈들을 등록하고, 관리하는 Spring 컨텍스트를 생성하는 클래스
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class App02HelloWorldSpring {
public static void main(String[] args) {
//1. 설정 파일로부터 ApplicationContext 생성
var context =
new AnnotationConfigApplicationContext(HelloWorldConfiguration.class);
/*2. Spring에서 관리할 항목 구성
- HelloWorldConfiguration클래스 - @Configuration
- name - @Bean
*/
//3.ApplicationContext로부터 Spring에서 관리하는 Bean가져오기
System.out.println(context.getBean("name"));
}
}
'Spring > Spring Framework 시작하기' 카테고리의 다른 글
5.Spring 컨테이너 종류 2가지 (0) | 2023.05.22 |
---|---|
4. Bean사용법(이름바꾸는 법, 검색법, 자동연결구현) (0) | 2023.05.22 |
3. record 데이터 타입 (0) | 2023.05.22 |
1. Spring Framework 프로젝트 생성하기 (0) | 2023.04.27 |