spring:
redis:
password: zzq12345
host: 192.168.126.188
port: 6379
main:
allow-bean-definition-overriding: true
@ConfigurationProperties(“spring.redis”)利用yml里的配置给自定义的配置类里的属性赋值
/**
* redisson配置信息
*/
@Data
@Configuration
@ConfigurationProperties("spring.redis")
public class RedissonConfig {
private String host;
private String addresses;
private String password;
private String port;
private int timeout = 3000;
private int connectionPoolSize = 64;
private int connectionMinimumIdleSize=10;
private int pingConnectionInterval = 60000;
private static String ADDRESS_PREFIX = "redis://";
}
@EnableConfigurationProperties
@ConfigurationProperties(prefix = "spring.redis")
public class RedisProperties {
、、、
}
源码会自动根据spring.redis给RedisProperties赋值,然后就可以获得RedisProperties并使用它
@AutoConfigureAfter(RedisAutoConfiguration.class)
//@EnableConfigurationProperties(RedisProperties.class)
@Configuration
public class RedissonAndBloomConfig {
@Bean //参数位置只要有自定义类型的对象,这个对象就自动从容器中获取
public RedissonClient redissonClient(RedisProperties redisProperties){
Config config = new Config();
//Redis url should start with redis:// or rediss:// (for SSL connection)
config.useSingleServer()
.setAddress("redis://"+redisProperties.getHost()+":"+redisProperties.getPort())
.setPassword(redisProperties.getPassword());
RedissonClient redisson = Redisson.create(config);
return redisson;
}
}