SpringBoot中l配置⽂件中的redis属性是如何读⼊
到。。。
RedisProperties类
a、application.properties配置参数⽰例
b、l配置参数⽰例
spring:
redis :
host : localhost
port : 6379
password : 123
database : 1
pool.max-idle : 8
pool.min-idle : 1
pool.max-active : 8
pool.max-wait : -1
c、RedisProperties 源码
源码分析
此类被@ConfigurationProperties注解,表⽰从外部⽂件注⼊属性值,外部⽂件中的参数会⾃动封装到RedisProperties中RedisAutoConfiguration类源码
源码分析
此类被@EnableConfigurationProperties注解,所以SpringBoot会触发对RedisProperties执⾏⾃动绑定属性值。
此类会⾃动创建bean对象: redis连接池JedisConnectionFactory和redis模板类(RedisTemplate和StringRedisTemplate)。直接在应⽤中通过
@Autowire就可以注⼊以上对象。
项⽬启动类启动时如何关联到配置类RedisAutoConfiguration
查看源码@SpringBootApplication被@EnableAutoConfiguration注解
被@EnableAutoConfiguration注解时,SpringBoot启动时会扫描对应jar包中的META-INF/spring-autoconfigure-metadata.properties⽂件,并初始化⾥⾯的配置的类。查看spring-autoconfigure-metadata.properties,⾥⾯配置了上⽂的RedisAutoConfiguration类,所以我们可以直接在类中注⼊RedisTemplate
项⽬启动时,主启动类被@EnableAutoConfiguration注解,会扫描其引⼊的jar包中的spring.factories⽂件。
⼩结:
1)项⽬主启动类上被@SpringBootApplication注解,@SpringBootApplication⼜被@EnableAutoConfiguration注解。
@EnableAutoConfiguration会触发扫描项⽬引⼊的jar包中的spring.factories⽂件。主启动类再加上注解@EnableCaching后,这样就会触发初始化类org.springframework.boot.dis.RedisAutoConfiguration。
2)RedisAutoConfiguration被@EnableConfigurationProperties注解,会触发对RedisProperties执⾏⾃动绑定属性值。
springboot是啥3)RedisProperties类被@ConfigurationProperties注解,表⽰从外部⽂件(如application.properties)注⼊属性值。application.properties 中的参数会被⾃动封装到RedisProperties中。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论