Spring Container가 관리하는 Bean 목록 확인 하기.
- Spring의 Bean은 Spring-Container(IoC Container)가 관리하고 있으며, 객체 생성, 객체 주입 같은 것들을 개발자가 아닌
Container에서 수행하게 된다.
- Spring IoC, DI, Container 에 관한 개념을 좀 더 알고싶다면 아래 링크에서 공부하고 와도 좋을것 같다.
https://lucas-owner.tistory.com/39
- 해당 포스트에서는 Spring Container 에서 관리 되는 Bean 목록을 확인 하는것이 목표이다.
- BeanFactory의 기능도 포함하고 있는 ApplicationContext 를 사용해서 확인한다.
- ApplicationContext 는 Container 의 구현체중 하나이다.
Code 및 결과
package com.example.makeproject;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.ApplicationContext;
import org.springframework.test.context.junit4.SpringRunner;
/************
* @info : Spring - Container관리 Beans 목록 확인
* @name : ContainerNameTest
* @version : 1.0.0
* @Description : Spring Container 구현체 2가지 : BeanFactory, ApplicationContext
*
* - ApplicationContext는 BeanFactory를 구현하여 BeanFactory의 확장 버전.
* - Spring 공식문서 상 : 특별한일이 아니면 ApplicationContext 사용할 것을 권장.
*
* - 목표: ApplicationContext 내부의 beans 확인.
************/
@RunWith(SpringRunner.class)
@SpringBootTest(classes = MakeProjectApplication.class)
public class ContainerNameTest {
@Autowired
ApplicationContext context;
@Test
public void contextCheck() throws Exception {
if(context != null) {
String[] beans = context.getBeanDefinitionNames();
for (String bean: beans) {
System.out.println("bean: " + bean);
}
}
}
}
- Code 사진
- 단순히 Container가 관리하는 Bean 목록을 가져와서 출력하는것이다.
- ApplicationContext 의 getBeanDefinitionNames(); 를 호출하게 된다면 Bean 목록을 확인할 수 있다.
반응형
'spring & boot > Spring & Spring Boot' 카테고리의 다른 글
[SpringBoot] QR코드 생성 & Test(링크이동) - zxing (2) | 2023.03.24 |
---|---|
[SpringBoot] RestTemplate - 카카오 openAPI 연동하기(Translation, 번역기) (0) | 2023.03.13 |
[Spring] Spring-Container, IoC, DI, Singleton 개념 정리 (0) | 2023.02.08 |
[SpringBoot] Swagger API 문서 자동화 간단 연동, 테스트하기(1) (0) | 2023.01.18 |
[SpringBoot] Gradle Jar 빌드 & 실행 (IntelliJ, Terminal) (0) | 2022.12.31 |
댓글