본문 바로가기
IT/Java

SPRINGBOOT 에서 등록된 Bean 추출

by 성준하이 2023. 6. 1.
반응형

이전 포스팅에서 applicationContext를 통해서 bean을 넣는것이랑 Bean에 대한 개념을 다룬글이 있다.

자세한 내용은 아래 참고 포스팅을 참고 바란다.

 

이번 포스팅은 Springboot에서 서버를 기동 시키게 될때 Spring container는 bean을 모두 등록하는데 

그 리스트를 출력을 하는방법을 다뤄보려고 한다.

 

SpringBoot 프로젝트를 starter 를 통해서 생성을 할 경우

Project명Application.java 파일이 자동으로 생성이 된다.

그 안에는 package랑 기본적인 main 메서드가 들어가있다.

아래와 같다.

package com.;


import org.springframework.boot.autoconfigure.SpringBootApplication;


@SpringBootApplication
public class TestProjectApplication {

     public static void main(String[] args) {
          SpringApplication.run(TestProjectApplication.class, args);
     }
}

 

이 main메서드가 실행이되면서 springboot 프로젝트가 기동이 되는데,

이때 bean이 등록되는것을 추출해볼수 있다.

 

public static void main(String[] args) {
     // SpringApplication.run(TestProjectApplication.class, args);

     ApplicationContext applicationContext = SpringApplication.run(TestProjectApplication.class, args);


     String[] beanNames = applicationContext.getBeanDefinitionNames();
     for (String beanName : beanNames) {
          System.out.println(beanName);     
     }
}

이렇게 하면 출력이 되고 특정 패키지 안에 있는것만 출력하도록 조건을 걸면 내가 만든 패키지, 특정 패키지 내의 bean만 출력해볼수도 있다.


참고 포스팅

https://thenicesj.tistory.com/517

 

ApplicationContext(스프링 컨테이너)

ApplicationContext를 스프링 컨테이너라고 한다. ApplicationContext는 BeanFactory 인터페이스의 하위 인터페이스이고, ApplicationContext는 BeanFactory에 부가기능을 추가한 것이다. 자세한 기능에 대해서는 공식

thenicesj.tistory.com

https://thenicesj.tistory.com/320

 

Spring Bean 등록

이전 포스팅에서 스프링에서 DI 와 IoC를 사용하기 위해서는 스프링에 Bean을 등록해줘야하고 그에 대한 내용은 아래 참고포스팅에서 알아볼수 있다. 하지만 스프링을 다루기 위해서는 가장 중요

thenicesj.tistory.com

 

반응형

'IT > Java' 카테고리의 다른 글

kafka 실습 (springboot에서 활용)  (31) 2023.06.05
custom annotation 활용  (51) 2023.06.02
mybatis 에서 dto camel case 적용  (59) 2023.05.29
@Data annotation 과 getter 의 관계(23.05.24)  (30) 2023.05.25
aop pointcut 정리(추가 정리)  (62) 2023.05.15

댓글