在Spring Boot中,您可以使用appContext.getBeanDefinitionNames()来获取Spring容器加载的所有bean。

1. CommandLineRunner作为界面

Application.java
package com.mkyong;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;import java.util.Arrays;@SpringBootApplication
public class Application implements CommandLineRunner {@Autowiredprivate ApplicationContext appContext;public static void main(String[] args) throws Exception {SpringApplication.run(Application.class, args);}@Overridepublic void run(String... args) throws Exception {String[] beans = appContext.getBeanDefinitionNames();Arrays.sort(beans);for (String bean : beans) {System.out.println(bean);}}}

输出量

Console.java
application
customerRepository
customerRepositoryImpl
dataSource
dataSourceInitializedPublisher
dataSourceInitializer
dataSourceInitializerPostProcessor
emBeanDefinitionRegistrarPostProcessor
entityManagerFactory
entityManagerFactoryBuilder
hikariPoolDataSourceMetadataProvider
jdbcTemplate
jpaContext
//...

2. CommandLineRunner作为Bean

只是打印加载的bean的不同方法。

Application.java
package com.mkyong;import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;import java.util.Arrays;@SpringBootApplication
public class Application {public static void main(String[] args) throws Exception {SpringApplication.run(Application.class, args);}@Beanpublic CommandLineRunner run(ApplicationContext appContext) {return args -> {String[] beans = appContext.getBeanDefinitionNames();Arrays.stream(beans).sorted().forEach(System.out::println);};}}

参考文献

  1. CommandLineRunner Java文档
  2. Spring Boot非Web应用程序示例
标签: 应用程序上下文 Spring启动

翻译自: https://mkyong.com/spring-boot/how-to-display-all-beans-loaded-by-spring-boot/


http://www.taodudu.cc/news/show-3251380.html

相关文章:

  • Spring如何管理bean(面试背诵版)
  • 【K210学习基于MaixPy】FPIOA现场可编程IO阵列的理解与相关函数运用
  • iOS开发 编译工程师 遇到once.h beng'kuispatch_once(predicate,block)重新拉取代码后解决
  • 欢(xue)乐(beng)%你赛
  • SSM毕设项目唯物志公司班服商店管理系统beng4(java+VUE+Mybatis+Maven+Mysql)
  • 手写 springIoc 注解版 ,实现@Service (beng),@Resource (依赖注入)
  • Content root being added Content entries should not intersect.
  • 复制Web项目,修改项目名称出现context root相同问题解决
  • MATLAB实现多目标粒子群算法
  • 【微生物研究】微生物交互关系研究论文摘要集锦
  • (Matlab实现)蚂蚁狮子优化算法在电力系统中的应用
  • 数据包络分析--二阶段网络(考虑各阶段的公平性)
  • Kotlin协程之Dispatchers原理
  • 博弈论(一)--yale
  • 使用dom4j时出现的问题
  • DOM函数
  • Python-Pycharm-模块无法导入:Pycharm奇怪的导入问题
  • matlab函数解释大全,matlab的函数解释
  • dsa算法(18)
  • Stochastic dominance 随机优势
  • MATLAB实现多目标粒子群优化算法(MOPSO)
  • STOTEN | 朱永官团队综述完全氨氧化-更便捷的微生物氨氧化过程
  • 多目标PSO优化算法的仿真
  • 【智能优化算法-天鹰算法】基于天鹰优化算法求解多目标优化问题附matlab代码
  • 多目标粒子群优化算法 (MOPSO)(Matlab代码实现)
  • 博弈论coursera
  • 【Python基础学习】小游戏之猜年龄
  • 小游戏的代码学习
  • Java开发学习之如何编写小游戏
  • 分享一个最近很火的前端小游戏

如何显示Spring Boot加载的所有bean相关推荐

  1. Spring Boot加载配置文件

    问题1:Spring如何加载配置,配置文件位置? 1.默认位置: Spring Boot默认的配置文件名称为application.properties,SpringApplication将从以下位置 ...

  2. spring boot 加载静态文件

    spring boot 加载静态文件 @Slf4j @Configuration public class WebMvcConfig extends WebMvcConfigurationSuppor ...

  3. Spring Boot基础学习笔记04:Spring Boot加载自定义配置文件

    文章目录 零.学习目标 1.熟悉使用@PropertySource加载配置文件 2.熟悉使用@ImportResource加载XML配置文件 3.掌握使用@Configuration编写自定义配置类 ...

  4. spring boot 加载过程分析(三)

    接着上一篇,现在主要来看一下prepareContext方法的内容,先看代码: prepareContext执行过程 private void prepareContext(ConfigurableA ...

  5. Spring Boot学习总结(13)——Spring Boot加载application.properties配置文件顺序规则

    SpringApplication会从以下路径加载所有的application.properties文件: 1.file:./config/(当前目录下的config文件夹) 2.file:./(当前 ...

  6. Spring Boot加载指定属性文件

    我们可以通过@PropertySource注解来加载指定的属性文件,可以将配置文件内的属性映射到我们的controller.service和实体类里面去. 下面来介绍配置过程: 1.添加依赖: < ...

  7. 服务器jar包配置文件,spring boot加载第三方jar包的配置文件的方法

    前言 今天收到一封邮件,大概内容如下:spring boot鼓励去配置化,那么怎么将第三方jar包中的xml去配置化了? 下面,我们就以Quartz定时任务为例,单独对这个问题来进行说明,如何实现去配 ...

  8. spring boot 加载application配置文件

    这就要注意了 转载于:https://www.cnblogs.com/huochaihe/p/9397849.html

  9. 框架源码专题:springIOC的加载过程,bean的生命周期,结合spring源码分析

    文章目录 1.BeanFactory和ApplicationContext的区别? 2. IOC与 Bean的加载过程 ①:初始化容器DefaultListableBeanFactory ②:创建读取 ...

最新文章

  1. 关于citrix 负载及WI的一些问题
  2. PythonOpenCV - 随机生成图像 与 图像的转维(reshape)
  3. css x轴不滚动_css – 固定div,动态内容不滚动
  4. 寂寞的hasLayout
  5. python中dtypes_Dataframe创建及index,columns,values,dtypes等属性介绍
  6. c中获取python控制台输出_linux c程序中获取shell脚本输出的实现方法
  7. csv导入mysql php实现_PHP实现csv文件导入mysql数据库的方法
  8. VC中使用GetModuleFileName获取应用程序路径
  9. 数据库SQL中的分钟表示应该使用MI(非常重要的一个问题,以前一直认为和java中一样,用mm就可以表示);校对规则(查询时区分大小写)
  10. 虚拟机环境下Centos6.5如何上网
  11. Python_Tika
  12. drozer安全评估框架基础使用技法
  13. 建模软件MAYA最详细的教程介绍来了
  14. ​【NeurIPS 2022】IPMT:用于小样本语义分割的中间原型挖掘Transformer
  15. 台式计算机屏幕亮度在哪调,电脑亮度怎么调?教您电脑亮度在哪里调
  16. 一道题讲懂SQL盲注 / [第一章 web入门]SQL注入-2
  17. eclipse启动失败,提示“发生了错误,请参阅日志文件.log
  18. AI产品经理入门手册(上)
  19. 计算机无线鼠标用不了怎么办,无线鼠标没反应,教您无线鼠标没反应该怎么办...
  20. cmos sensor (图像传感器) CSI接口

热门文章

  1. ReactNative实现地图导航
  2. python用for循环输出直角三角形_使用FOR循环语句在屏幕上输出一个由星号组成的直角三角形...
  3. 网易智企:做正确的事,然后相信持续创新的复利效应
  4. 咖啡汪译文 —— 2021最新IBM消息 祝贺2020年度 Code for Global挑战赛冠军Agrolly! 结识全球五强 这些方案正在争夺20万美元的大奖,并有机会看到他们的解决方案的部署。
  5. 年轻人此时不破何时破
  6. MYSQL窗口函数用法及区别
  7. 银河麒麟V10龙芯3A4000桌面操作系统安装qt后,无法自动配置编译器,需手动添加方法
  8. 洗地机口碑榜,洗地机哪个品牌好用性价比高
  9. 计算机网络【UDP和TCP首部字段详解】
  10. 灰太狼的数据世界(一)