(六)springboot实战——springboot的启动流程分析

news/2024/3/4 2:33:22

前言

本节内容我们主要介绍一下springboot的启动流程,它内部是如何实现启动加载的,启动过程中都做了哪些工作,这是我们比较关注的问题。

正文

@SpringBootApplication启动类注解的解读

- @SpringBootConfiguration:等同于@Configuration ,实现容器中的组件注册,同时其也是一个配置类。spring ioc启动就会加载创建这个类对象。

- @EnableAutoConfiguration:开启自动配置
        - @AutoConfigurationPackage:扫描主程序包,加载应用程序的自己的组件,利用

@Import({Registrar.class})组件把主程序所在的包的所有组件导入进来。

        - @Import({AutoConfigurationImportSelector.class}):加载所有自动配置类,加载

starter导入的组件,扫描SPI文件:META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports配置的组件

- @ComponentScan:组件扫描,或者排除一些导入的组件   

springboot 的生命周期启动流程加载机制

结语

本节内容到这里就结束了,下期见。。。。。。


http://www.ppmy.cn/news/977698.html

相关文章

学好Elasticsearch系列-Mapping

本文已收录至Github,推荐阅读 👉 Java随想录 文章目录 Mapping 的基本概念查看索引 Mapping 字段数据类型数字类型基本数据类型Keywords 类型Dates(时间类型)对象类型空间数据类型文档排名类型文本搜索类型 两种映射类型自动映射&…

redis作为缓存的选用及优缺点

Redis vs. Memcached: 持久化支持: Redis支持两种持久化方式(RDB和AOF),而Memcached不支持持久化。这意味着Redis可以在服务器重启后恢复数据,而Memcached在重启后数据会丢失。 数据结构: Redis的数据结构…

SkyWalking链路追踪中span全解

基本概念 在SkyWalking链路追踪中,Span(跨度)是Trace(追踪)的组成部分之一。Span代表一次调用或操作的单个组件,可以是一个方法调用、一个HTTP请求或者其他类型的操作。 每个Span都包含了一些关键的信息&am…

unity进阶--json的使用学习笔记

文章目录 unity自带的json使用方法第三方--LitJson的使用第一种使用方式第二种--使用jsonData unity自带的json使用方法 创建数据类 转化成json 解析json 第三方–LitJson的使用 第一种使用方式 数据类 创建和解析 第二种–使用jsonData 创建 解析

分布式系统的应用程序性能监视工具-skywalking

分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。提供分布式链路日志追踪、剖析、服务网格遥测分析、度量聚合和可视化一体化解决方案。 在应用系统进行实时监控,实现对应用性能管理和故障定位的系统化解决方案中常用的…

表单验证:输入的字符串以回车分隔并验证是否有

公司项目开发时&#xff0c;有一个需求&#xff0c;需要对输入的字符串按回车分隔并验证是否有重复项&#xff0c;效果如下&#xff1a; 表单代码&#xff1a; <el-form-item label"IP地址条目&#xff1a;" prop"ipAddressEntry"><el-inputtype&…

【代码片】Pdf转Image

pdf转图片工具类 import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.rendering.PDFRenderer; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.*;public class Pdf2Png {private final static String type "…

Cesium态势标绘专题-自由多边形(标绘)

标绘专题介绍:态势标绘专题介绍_总要学点什么的博客-CSDN博客 入口文件:Cesium态势标绘专题-入口_总要学点什么的博客-CSDN博客 辅助文件:Cesium态势标绘专题-辅助文件_总要学点什么的博客-CSDN博客 本专题没有废话,只有代码,代码中涉及到的引入文件方法,从上面三个链…

springMVC--中文乱码处理(新思路--化繁为简)

文章目录 springMVC--中文乱码处理(新思路--化繁为简)编码过滤器自定义中文乱码过滤器举例应用实例1. 创建过滤器springmvc\src\com\web\filter\MyCharacterFilter.java实现思路 2. 配置web.xml完成测试 Spring MVC--过滤器处理中文修改web.xml完成测试 springMVC–中文乱码处理…

利用I/O操作复制文件和目录以及删除文件和目录

一&#xff0c;复制文件和目录 示例代码&#xff1a; public static void main(String[] args) {//需要复制的文件地址File fi new File("C:\\Users\\21309\\Pictures\\Screenshots");//需要复制到的路径地址File du new File("C:\\Users\\21309\\Pictures\…

ubuntu 20.04 rtc时间显示问题探究

1、硬件与软件 本次测试的硬件为RK3568芯片&#xff0c;操作系统为ubuntu 20.04。 2、RTC与系统时间 先说结果&#xff0c;如果RTC驱动不可用或者RTC内部存储的时间非法&#xff0c; 那么操作系统会存储上一次有效的时间&#xff0c;当再次上电时&#xff0c;date命令会使用存储…

通过API进行snmp配置

SNMP 是专门用于在 IP 网络管理网络节点&#xff08;服务器、工作站、路由器、交换机及HUBS等&#xff09;的一种标准协议&#xff0c;它是一种应用层协议。 SNMP 使网络管理员能够管理网络效能&#xff0c;发现并解决网络问题以及规划网络增长。通过 SNMP 接收随机消息&#x…

会员系统怎么搭建,适合门店的会员系统有哪些?

会员系统是一种为企业和门店提供会员管理和服务的工具。会员系统可以通过提供专属优惠、积分奖励、个性化推荐等方式&#xff0c;激励顾客成为会员并保持长期关系。 我们在自己搭建或选择会员系统时&#xff0c;需要考虑门店的特定需求以及系统的功能、可靠性、易用性和成本等因…

机器人导航(3):导航相关消息

文章目录 地图nav_msgs/MapMetaDatanav_msgs/OccupancyGrid 里程计坐标变换定位目标点与路径规划激光雷达相机深度图像转激光数据depthimage_to_laserscan简介depthimage_to_laserscan节点说明depthimage_to_laserscan使用 地图 地图相关的消息主要有两个: nav_msgs/MapMetaD…

MySQL基础(二)SQL语句

目录 前言 一、SQL语句类型 二、数据库操作 查看 创建 进入 删除 更改 三、数据表操作 &#xff08;一&#xff09;、数据类型 1.数值类型 2.时间\日期类型 3.字符串类型 4.二进制类型 &#xff08;二&#xff09;、查看 1.查看表内的数据 2.查看表格的属性 &…

java 相关问题集锦, 持续更新

一.当HashMap中存在大量哈希冲突时&#xff0c;可以采取以下几种方法来处理&#xff1a; 调整HashMap的初始容量和负载因子&#xff1a;HashMap的初始容量和负载因子是影响哈希冲突的重要因素。初始容量是指HashMap在创建时的容量大小&#xff0c;负载因子是指HashMap在达到容量…

软件工程学术顶会——ICSE 2023 议题(网络安全方向)清单与摘要

按语&#xff1a;IEEE/ACM ICSE全称International Conference on Software Engineering&#xff0c;是软件工程领域公认的旗舰学术会议&#xff0c;中国计算机学会推荐的A类国际学术会议&#xff0c;Core Conference Ranking A*类会议&#xff0c;H5指数74&#xff0c;Impact s…

入门前端监控

背景 前端监控是指通过一系列手段对Web页面或应用程序进行实时监控和数据采集&#xff0c;以了解页面或应用程序的性能状况、用户行为等等&#xff0c;并及时发现和解决潜在的问题。一个完整的前端监控平台可以包括&#xff1a;数据收集与上报、数据整理与存储、数据展示这里仅…

Android onTouchEvent方法不触发ACTION_UP的解决方法

Overridepublic boolean onTouchEvent(MotionEvent event) {switch (event.getAction()) {case MotionEvent.ACTION_DOWN://触摸、按下setImageResource(R.mipmap.ic_music);break;case MotionEvent.ACTION_UP://抬起setImageResource(R.mipmap.ic_launcher);break;}return sup…

typescript前三章编译器,类型系统,类型

typescript编程指南 资料参考来源 O’reilly(Typescript编程Programming Typescript)BorisCherny著 安道 译 第一章 导言 当我使用JavaScript语言时候&#xff0c;检查异常&#xff0c;往往要等到代码运行的时候&#xff0c;才能检查出代码问题所在&#xff0c;这使得我们需要…
最新文章