spring.redis.database=0redis
spring.redis.host=127.0.0.1spring
spring.redis.password=123app
spring.redis.port=6379源碼分析
spring.redis.pool.max-idle=8spa
spring.redis.pool.min-idle=0 對象
spring.redis.pool.max-active=8 blog
spring.redis.pool.max-wait=-1源碼
spring:it
redis :io
host : localhost
port : 6379
password : 123
database : 1
pool.max-idle : 8
pool.min-idle : 1
pool.max-active : 8
pool.max-wait : -1
源碼分析
此類被@ConfigurationProperties註解,表示從外部文件注入屬性值,外部文件中的參數會自動封裝到RedisProperties中
源碼分析
此類被@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.autoconfigure.data.redis.RedisAutoConfiguration。
2)RedisAutoConfiguration被@EnableConfigurationProperties註解,會觸發對RedisProperties執行自動綁定屬性值。
3)RedisProperties類被@ConfigurationProperties註解,表示從外部文件(如application.properties)注入屬性值。application.properties中的參數會被自動封裝到RedisProperties中。