RedisProperties類
a、application.properties配置參數示例
spring.redis.database=0
spring.redis.host=127.0.0.1
spring.redis.password=123
spring.redis.port=6379
spring.redis.pool.max-idle=8
spring.redis.pool.min-idle=0
spring.redis.pool.max-active=8
spring.redis.pool.max-wait=-1
b、application.yml配置參數示例
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.autoconfigure.data.redis.RedisAutoConfiguration。
2)RedisAutoConfiguration被@EnableConfigurationProperties注解,會觸發對RedisProperties執行自動綁定屬性值。
3)RedisProperties類被@ConfigurationProperties注解,表示從外部文件(如application.properties)注入屬性值。application.properties中的參數會被自動封裝到RedisProperties中。
