TIL
스프링 컨테이너와 빈
류정근
2024. 5. 23. 17:10
스프링 컨테이너와 스프링빈!!! 이해라도 해보자!!!
스프링 컨테이너 생성
//스프링 컨테이너 생성
ApplicationContext applicationContext =
new AnnotationConfigApplicationContext(AppConfig.class);
ApplicatinContext를 스프링 컨테이너라고 한다.
ApplicationContext는 인터페이스이다.
스프링 컨테이너는 XML을 기반으로 만들 수 있고, 애노테이션 기반의 자바 설정 클래스로 만들 수있다.
스프링 컨테이너 생성 과정
new AnootationConfingApllicationContext(AppConfig.class)
스프링 컨테이너를 생성할 때 구성 정보를 지정해 주어야한다.
위 코드에서는 AppConfig.class를 구성 정보로 지정했다.
스프링 컨테이너는 파라미터로 넘어온 설정 클래스 정보를 사용해서 스프링 빈을 등록한다.
빈이름
빈 이름은 매서드 이름을 사용한다.
빈 이름을 직접 부여할 수도 있다.
`@Bean(name="원하는 이름")`
※ 빈 이름은 항상 다른 이름을 부여해야 한다. 같은 이름을 부여하면, 다른 빈이 무시되거나, 기존 빈을 덮어버리거나 설정에 따라 오류가 발생한다.
스프링 컨테이너는 성정 정보를 참고해서 의존관계를 주입(DI)한다.
단순히 자바 코드를 호출하는 것 같지만 다른 차이가 존재한다.(싱글톤 컨테이너를 배우면 이해 가능)