欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

大话-springboot 自动装配那些事

程序员文章站 2022-12-20 12:13:46
背景:之前用spring项目需要整合很多xml 配置、各种jar 版本搭配 甚是烦人,而有了springboot 后,引入一个starter包+application.properties 配置即可搞定一个组件集成。springboot底层帮我们做了啥,竟让我们如此省事?以集成redis组件为例1、引入 starter org.springframewo...

背景:之前用spring项目需要整合很多xml 配置、各种jar 版本搭配 甚是烦人,而有了springboot 后,引入一个starter包+application.properties 配置即可搞定一个组件集成。

springboot底层帮我们做了啥,竟让我们如此省事?
以集成redis组件为例
1、引入 starter

		<!--redis-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

2、1依赖中有 spring-boot-starter
大话-springboot 自动装配那些事
3、2依赖中有 spring-boot-autoconfigure 这个包是关键所在
大话-springboot 自动装配那些事
在从注解出发看一圈,
1、EnableAutoConfiguration
大话-springboot 自动装配那些事
2、载入 AutoConfigurationImportSelector 组件
大话-springboot 自动装配那些事
3、通过2中组件、 加载 spring.factories 自动配合文件路径到内存缓存
大话-springboot 自动装配那些事
大话-springboot 自动装配那些事

org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration,\
org.springframework.boot.autoconfigure.data.redis.RedisReactiveAutoConfiguration,\
org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration,\

4、通过3中缓存路径,找到对应文件、反射 创建bean 注入spring上下文…
大话-springboot 自动装配那些事

大话-springboot 自动装配那些事

spring.redis.database=0
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.jedis.pool.max-active=100
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.jedis.pool.max-wait=-1
# 连接池中的最大空闲连接
spring.redis.jedis.pool.max-idle=8
# 连接池中的最小空闲连接
spring.redis.jedis.pool.min-idle=0
# 连接超时时间(毫秒)
spring.redis.timeout=60000
# 存储方式
spring.session.store-type=redis

此时,一个starter 的作用就结束了。。。emmmmm

本文地址:https://blog.csdn.net/e_shi_yi_p/article/details/107591411

相关标签: spring专栏