如何检查springboot是否已加载bean

时间:2019-05-20 04:28:41

标签: java spring spring-boot

我正在尝试使用Springboot运行一些Grpc Bean,而我所确认的只是springboot应用程序加载了。在哪里可以找到确认已装入豆类的确认信息?有没有一种方法可以启动springboot以便显示出来?

2 个答案:

答案 0 :(得分:2)

以下代码将记录所有春季应用程序正在其容器中加载的bean:-

@SpringBootApplication
public class Application implements CommandLineRunner {

    @Autowired
    private ApplicationContext appContext;

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

    @Override
    public void run(String... args) throws Exception {

        String[] beans = appContext.getBeanDefinitionNames();
        Arrays.sort(beans);
        for (String bean : beans) {
            System.out.println(bean);
        }

    }
}

答案 1 :(得分:2)

Jaspret's answer显示了一个好方法。 您还可以通过以下方式使用bean生命周期方法:

1)添加@PostConstruct批注:

@PostConstruct
public void constructed() {
    System.out.println("I was constructed!");
}

或 2)在您的bean上实现InitializingBean接口:

@Component
public class MyClass implements InitializingBean {
  // ...

  @Override
  public void afterPropertiesSet() throws Exception {
      System.out.println("I was constructed!");
  }
}

让您的bean“通知”您它们是被构造的。