반응형
public static void printBeanDefinitions(GenericApplicationContext gac) {
List<List<String>> roleBeanInfos = new ArrayList<List<String>>();
roleBeanInfos.add(new ArrayList<String>());
roleBeanInfos.add(new ArrayList<String>());
roleBeanInfos.add(new ArrayList<String>());
for(String name : gac.getBeanDefinitionNames()) {
int role = gac.getBeanDefinition(name).getRole();
List<String> beanInfos = roleBeanInfos.get(role);
beanInfos.add(role + "\t" + name + "\t" + gac.getBean(name).getClass().getName());
}
for(List<String> beanInfos : roleBeanInfos) {
for(String beanInfo : beanInfos) {
System.out.println(beanInfo);
}
}
}
출력되는 내용은 application context에 등록된 빈의 역할(role)과 빈 이름, 빈 클래스이다.
ex)
0 hello springbook.learningtest.spring31.ioc.Hello
2 org.springframework.context.annotation.internalConfigurationAnnotationProcessor org.springframework.context.annotation.ConfigurationClassPostProcessor
맨 앞의 숫자의 의미는
0 : 애플리케이션 로직 빈과 애플리케이션 인프라 빈처럼 애플리에키션이 동작하는 중에 사용 되는 빈
2 : 전용 태그에 의해 등록
728x90
반응형
'웹 개발' 카테고리의 다른 글
[javascript] json array에서 원하는 field에 url encode, decode (0) | 2019.07.24 |
---|---|
[java] 가변 변수(인자) - Variable Arguments (0) | 2019.07.24 |
JSP MultipartRequest upload (0) | 2019.07.24 |
jquery outerHTML() (0) | 2019.07.24 |
연산자 우선순위 (0) | 2019.07.24 |