스프링 컨테이너

-ApplicationContext

-직접 AppConfig를 사용해 직접 객체생성, DI 대신 스프링 컨테이너 사용

-@Configuration 이 붙은 AppConfig 를 설정(구성) 정보로 사용

-@Bean이라 적힌 메서드 모두 호출하여 반환된 객체를 스프링 컨테이너에 등록

 

-applicationContext.getBean() 메서드로 스프링빈(객체) 조회 가능 

 

ApplicationContext applicationContext =
				new AnnotationConfigApplicationContext(AppConfig.class);

 

- 스프링 컨테이너는 XML 기반 or 애노테이션 기반 자바 설정 클래스로 만들 수 있다.

- 스프링 컨테이너 생성시 구성정보 지정해줘야함 ( 여기서는 AppConfig.class)

 

 

빈 이름

- 메서드 이름 사용

- 직접 부여 가능  @Bean(name = " " )

      -> 같은 이름일 경우 기존 빈을 덮어버리는 오류 발생 

 

 

모든 빈 출력

- ac.getBeanDefinitionNames() :  스프링에 등록된 모든 빈 이름 조회

- ac.getBean()  :  빈 이름으로 빈 객체 조회

 

 

애플리케이션 빈 출력

- 내부 사용하는 빈 getRole()로 구분

  • ROLE_APPLICATION : 일반적으로 사용자가 정의한 빈
  • ROLE_INFRASTRUCTURE : 스프링이 내부에서 사용하는 빈

 

스프링 빈 조회

- ac.getBean(빈이름, 타입)

- ac.getBean(타입)

 

 

* 상속관계

- Object 타입으로 조회 하면 모든 스프링 빈 조회 가능

-> 부모 타입으로 조회하면 자식 타입도 함께 조회 ( 모든 자바 객체 최고부모 = Object )

'Back-end > spring' 카테고리의 다른 글

WebSocket + STOMP  (0) 2021.03.25
의존관계 주입  (0) 2021.02.16
컴포넌트 스캔  (0) 2021.02.08
애노테이션 & XML 기반 설정 사용  (0) 2021.02.08
객체지향 원리 적용  (0) 2021.02.08

+ Recent posts