返回顶部
首页 > 资讯 > 前端开发 > VUE >Springboot应用到底启动了哪些bean
  • 758
分享到

Springboot应用到底启动了哪些bean

2024-04-02 19:04:59 758人浏览 八月长安
摘要

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

本篇文章为大家展示了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:

Springboot应用到底启动了哪些bean

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

4. 使用Spring Boot Actuator

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

第一步:添加依赖

<dependency>     <groupId>org.springframework.boot</groupId>     <artifactId>spring-boot-starter-actuator</artifactId> </dependency>

第二步:修改application.properties

management.endpoints.WEB.exposure.include=*

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

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

Springboot应用到底启动了哪些bean

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

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

--结束END--

本文标题: Springboot应用到底启动了哪些bean

本文链接: https://lsjlt.com/news/82079.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Springboot应用到底启动了哪些bean
    本篇文章为大家展示了Springboot应用到底启动了哪些bean,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. 概述我们将探索在...
    99+
    2024-04-02
  • springboot启动报错bean找不到怎么解决
    这篇文章主要讲解了“springboot启动报错bean找不到怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“springboot启动报错bean找不到怎么解决”吧!springboo...
    99+
    2023-07-05
  • 解决springboot启动报错bean找不到的问题
    目录springboot启动报错bean找不到的原因解决一.普通的dao,service对应的实例bean不存在报错示例:解决方案:二.由于bean的加载顺序和配置文件的关系补充:S...
    99+
    2023-03-01
    Springboot启动报错 类文件具有错误的版本 Springbot bean找不到
  • springboot 启动如何排除某些bean的注入
    springboot 启动排除某些bean的注入 问题: 最近做项目的时候,需要引入其他的jar。然后还需要扫描这些jar里的某些bean。于是使用注解:@ComponentScan...
    99+
    2024-04-02
  • springboot启动怎么排除某些bean的注入
    本篇内容主要讲解“springboot启动怎么排除某些bean的注入”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“springboot启动怎么排除某些bean的注入”吧!springboot 启...
    99+
    2023-06-20
  • Springboot启动扩展点有哪些
    这期内容当中小编将会给大家带来有关Springboot启动扩展点有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.背景Spring的核心思想就是容器,当容器refresh的时候,外部看上去风平浪静,...
    99+
    2023-06-16
  • springboot启动类注解有哪些
    在Spring Boot中,常用的启动类注解有以下几种:1. @SpringBootApplication:这是一个组合注解,包含了...
    99+
    2023-08-24
    springboot
  • SpringBoot应用是如何启动的
    这篇文章将为大家详细讲解有关SpringBoot应用是如何启动的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 SpringBoot项目通过SpringApplication.ru...
    99+
    2023-05-31
    springboot
  • 谜底揭晓:Go语言底层到底用了哪种语言?
    Go语言作为一种高效的编程语言,以其简洁、高效、易用等特点受到了广泛的关注和应用。然而,很多人对于Go语言底层到底使用了哪种语言仍然存在疑惑。本文将会揭晓这个谜底,并通过具体的代码示例...
    99+
    2024-03-07
    go语言 编程关键词 语言底层
  • SpringBoot应用jar包启动原理详解
    目录1、maven打包2、Jar包目录结构3、可执行Jar(JarLauncher)4、WarLauncher5、总结1、maven打包 Spring Boot项目的pom.xml文...
    99+
    2024-04-02
  • MySQL启动不了的原因有哪些
    MySQL启动不了的原因可能有以下几种:1. 配置错误:MySQL配置文件(my.cnf)中的某些配置项可能有误,如端口号、数据目录...
    99+
    2023-09-26
    MySQL
  • idea启动不了的原因有哪些
    启动不了的原因可能有以下几个:1. 电源问题:可能是电源线松动或损坏,导致电源无法正常供电。2. 硬件故障:例如主板故障、内存故障、...
    99+
    2023-10-11
    idea
  • rabbitmq启动不了的原因有哪些
    RabbitMQ启动不了的原因有以下几种: 配置错误:可能是配置文件中的某些参数设置错误,例如端口号、虚拟主机名称、用户名密码等...
    99+
    2023-10-22
    rabbitmq
  • prometheus启动不了的原因有哪些
    配置文件错误:可能是配置文件中的选项设置不正确,导致Prometheus无法启动。 端口被占用:如果Prometheus要使...
    99+
    2024-03-15
    prometheus
  • 如何将SpringBoot应用部署到了K8S上
    如何将SpringBoot应用部署到了K8S上,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。摘要想要把一个复杂的微服务项目部署到K8S上去...
    99+
    2024-04-02
  • Springboot通过run启动web应用的方法
    目录一、SpringBootApplication背后的秘密1、@Configuration2、@ComponentScan3、@EnableAutoConfiguration二、深...
    99+
    2024-04-02
  • 快速掌握SpringBoot应用的启动入口
    目录1、一切的开始2、总结 Springboot可以说是Java程序员必备技能了,大家都知道Springboot最终可以通过maven打成jar包,然后直接使用java -jar命令...
    99+
    2024-04-02
  • SpringBoot应用的启动入口怎么封装
    这篇文章主要介绍了SpringBoot应用的启动入口怎么封装的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot应用的启动入口怎么封装文章都会有所收获,下面我们一起来看看吧。Springboot可...
    99+
    2023-06-30
  • win10 DX12到底带来了哪些变化?哪些显卡和平台支持DX12?
    微软的Windows 10今年夏天就可以发布了,除了界面和操作上的改进之外,Win10最让游戏玩家动心的部分莫过于DirectX 12(以下简称DX12)了,这是新一代的图形API规范,那么它到底能为我们带来什么样的变化...
    99+
    2023-06-17
    win10 DX12 显卡 平台 和平台
  • springboot项目启动后的执行方法有哪些
    今天小编给大家分享一下springboot项目启动后的执行方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1 方法A...
    99+
    2023-07-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作