| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> Spring Boot自动装配原理 -> 正文阅读 |
|
[Java知识库]Spring Boot自动装配原理 |
目录 什么是自动装配?我们可以先看一段代码
我们明明没有注册RedisTemplate这个bean,那么我们是怎么从spring容器里拿到的呢 这就是Spring Boot的自动装配,只要我们加入spring-boot-starter-data-redis依赖,就会自动的把RedisTemplate 放到spring容器里。 自动装配是如何实现的?其实很简单,只需要第三方组件告诉Spring Boot你的Configuration所在的地方 Spring Boot的启动类上有个注解@SpringBootApplication @SpringBootApplication又是由三个注解组成
*如果不清楚Spring注册bean的几种方式应该先了解一下??Import注册bean的三种方式?这很重要
所以Spring Boot制定了一个规则,就是第三方组件的classpath:META-INF有一个spring.factories文件,文件里是配置类的全类名,所以Spring Boot只要扫描META-INF/spring.factories就可以加载到第三方组件的配置类了 下图是Mybatis整合Spring Boot的jar包 ,它的里面就有这个spring.factories文件 spring.factories文件里面的内容 KV的结构
要注意的是 spring-boot-starter-data-redis是Spring Boot提供的官方的包,所以没有spring.factories?文件,它是由条件判断触发的装配。 条件触发装配有两种方式
自己写一个可以被Spring Boot自动装配的依赖项目结构 ?目的是让Spring Boot加入这个项目的依赖时可以把WsAppSevice注入到spring容器里 WsAppService:
WsAppConfigration
最重要的META-INF/spring.factories
条件触发META-INF/spring-autoconfigure-metadata.properties 我没有加 把这个项目打包 ?在Spring Boot项目上加入这个依赖 <dependency> <groupId>com.ws</groupId> <artifactId>ws-app-spring-boot-starter</artifactId> <version>6.6.6</version> </dependency> 在启动类上测试是否装载了WsAppService这个bean
启动结果 ?自动装配成功! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 10:49:02- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |