千家信息网

Springboot应用到底启动了哪些bean

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇文章为大家展示了Springboot应用到底启动了哪些bean,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. 概述我们将探索在容器中获取所有sprin
千家信息网最后更新 2026年11月03日Springboot应用到底启动了哪些bean

本篇文章为大家展示了Springboot应用到底启动了哪些bean,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

1. 概述

我们将探索在容器中获取所有spring管理的bean的相关技术。这有神马用?主要是用于排查问题。一般都是我们创建的某一个bean没有启动的问题。毕竟工作中总是会遇到各种各样的bug。提前了解一些没有坏处。

2. IoC容器

bean是spring管理的应用程序的基础,所有bean都驻留在IOC容器中,该容器负责管理它们的生命周期。

我们可以通过两种方式获取该容器内所有bean的列表:

  • 使用ListableBeanFactory接口

  • 使用Spring Boot Actuator

3.使用ListableBeanFactory接口

ListableBeanFactory接口提供了getBeanDefinitionNames()方法,该方法返回在这个工厂中定义的所有bean的名称。您可以在官方文档中找到所有已知子接口及其实现类的列表。我们来看这种方式如何获取所有的bean。

第一步:创建一个Controller

@Controller public class FooController {     @Autowired     private FooService fooService;     @RequestMapping(value="/displayallbeans")     public String getHeaderAndBody(Map model){         model.put("header", fooService.getHeader());         model.put("message", fooService.getBody());         return "displayallbeans";     } }

这个Controller依赖于另一个FooService。

第二步:创建Service

@Service public class FooService {     public String getHeader() {         return "Display All Beans";     }     public String getBody() {         return "展示所有beans的案例";     } }

注意,我们在这里创建了两个不同的bean:

  • fooController

  • fooService

这里使用applicationContext对象并调用它的getBeanDefinitionNames()方法,该方法将返回applicationContext容器中的所有bean:

第三步:设置SpringBootApplication启动类

@SpringBootApplication public class DemoApplication {     private static ApplicationContext applicationContext;     public static void main(String[] args) {         applicationContext = SpringApplication.run(DemoApplication.class, args);         displayAllBeans();     }     public static void displayAllBeans() {         String[] allBeanNames = applicationContext.getBeanDefinitionNames();         for(String beanName : allBeanNames) {             System.out.println(beanName);         }     } }

第四步:测试打印

这将打印applicationContext容器中的所有bean:

注意,除了我们定义的bean之外,它还将记录该容器中的所有其他bean。为了清楚起见,我们在这里省略了它们,因为它们有很多。

4. 使用Spring Boot Actuator

Spring Boot Actuator提供了用于监控应用程序统计信息的端点。下面看看这种方式:

第一步:添加依赖

     org.springframework.boot     spring-boot-starter-actuator 

第二步:修改application.properties

management.endpoints.web.exposure.include=*

把上面代码添加到properties文件中。

第三步:使用发布端点查看

由于这里的Actuator没有配置,所以显示的比较乱。

上述内容就是Springboot应用到底启动了哪些bean,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

容器 应用 接口 方法 方式 管理 内容 应用程序 技能 知识 程序 端点 问题 不同 清楚 简明 简明扼要 两个 代码 信息 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 瑰夏咖啡 互联网佳科技有限公司 互联网和科技技术 青岛互联网科技公司 齐家互联网科技 易通互联网络科技有限公司 顺网科技2021年互联网排名 银川新华互联网科技学校地址 深圳前海聚择互联网科技有限公司 互联网科技产业特征 杭州壁岐互联网科技有限公司 科技类公司包括互联网吗 内蒙古九一互联网科技 爱医互联网络科技 上海科技产业互联网平台 浙南科技城互联网大厦招聘 互联网科技融合创新 广州有谷有贝互联网科技有限公司 东营紫格互联网科技 武汉亿视互联网科技有限公司 新华互联网科技 易通互联网络科技有限公司 互联网科技扶贫时间 深圳市罗太互联网科技有限公司 工业互联网等科技实现智能化赋能 伊宁互联网科技做什么的 上海互联网科技公司ppt 广东鹅鹅鹅互联网科技有限公司 抖集互联网科技技术咨询 张家口科技产业互联网平台
0