首页
统计
关于
Search
1
Sealos3.0离线部署K8s集群
1,085 阅读
2
类的加载
742 阅读
3
Spring Cloud OAuth2.0
726 阅读
4
SpringBoot自动装配原理
691 阅读
5
集合不安全问题
586 阅读
笔记
Java
多线程
注解和反射
JVM
JUC
设计模式
Mybatis
Spring
SpringMVC
SpringBoot
MyBatis-Plus
Elastic Search
微服务
Dubbo
Zookeeper
SpringCloud
Nacos
Sentinel
数据库
MySQL
Oracle
PostgreSQL
Redis
MongoDB
工作流
Activiti7
Camunda
消息队列
RabbitMQ
前端
HTML5
CSS
CSS3
JavaScript
jQuery
Vue2
Vue3
Linux
容器
Docker
Kubernetes
Python
FastApi
登录
Search
标签搜索
Java
CSS
mysql
RabbitMQ
JavaScript
Redis
JVM
Mybatis-Plus
Camunda
多线程
CSS3
Python
Spring Cloud
注解和反射
Activiti
工作流
SpringBoot
Mybatis
Spring
html5
蘇阿細
累计撰写
389
篇文章
累计收到
4
条评论
首页
栏目
笔记
Java
多线程
注解和反射
JVM
JUC
设计模式
Mybatis
Spring
SpringMVC
SpringBoot
MyBatis-Plus
Elastic Search
微服务
Dubbo
Zookeeper
SpringCloud
Nacos
Sentinel
数据库
MySQL
Oracle
PostgreSQL
Redis
MongoDB
工作流
Activiti7
Camunda
消息队列
RabbitMQ
前端
HTML5
CSS
CSS3
JavaScript
jQuery
Vue2
Vue3
Linux
容器
Docker
Kubernetes
Python
FastApi
页面
统计
关于
搜索到
1
篇与
的结果
2020-12-22
SpringBoot自动装配原理
SpringBoot自动装配原理pom.xmlSpring-boot-dependencies:核心依赖在父工程中导入依赖时不用指定版本,因为有版本仓库启动器:SpringBoot的启动场景例:spring-boot-starter-web,会自动导入web环境所有的依赖SpringBoot会将所有的功能场景,都变成一个个的启动器主程序:package com.sw.helloworld; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication //标注这是一个SpringBoot应用 public class HelloworldApplication { public static void main(String[] args) { //启动SpringBoot SpringApplication.run(HelloworldApplication.class, args); } } 1、SpringBoot在启动的时候从类路径下的META-INF/spring.factories中获取AutoConfiguration指定的值2、将这些值作为自动配置类导入容器,自动配置类生效3、J2EE的整体解决方案和自动配置都在SpringBoot-autoConfig的jar包中4、它会将需要的组件以全类名的方式返回,这些组件就会被添加到容器中5、他会给容器中导入非常多的配置类,也就是导入并配置这个场景所需要的组件@SpringApplication(启动类注解) ---> @EnableAutoConfiguration(自动配置注解) ---> @Import(AutoConfigurationSelector.class)(自动导入配置文件的选择器) ---> getCandidateConfigurations()(获取所有候选配置) ---> 通过spring.factories获取配置类的位置 ---> @ConditionOnClass判断 ---> 条件成立(不加载该配置类) ---> 条件不成立(获取配置类,在上层方法中循环封装为properties来使用)xxxAutoConfiguration:自动配置类(给容器中添加组件)xxxProperties:封装配置文件中的相关属性(application.yaml)SpringApplication:1、推断应用的类型是普通项目还是web项目2、查找并加载所有可用初始化器,设置到initializers属性中3、找出所有的应用程序监听器,设置到listeners属性中4、推断并设置main方法的定义类,找到运行的主类
2020年12月22日
691 阅读
0 评论
0 点赞