方法一:
直接在配置类上加上@Configuration注解然后在类的属性里使用 @Value("${AA.BB.CC}")自动注入值
#redis配置******************************************************************************************
# Redis数据库索引(默认为0)
spring.redis.database=1
# Redis服务器地址
spring.redis.host=192.168.20.8
# Redis服务器连接端口
spring.redis.port=6379
@Configuration
public class RedisConfig extends CachingConfigurerSupport{
private static Logger log = Logger.getLogger(RedisConfig.class);
@Value("${spring.redis.host}")
private String host;
@Value("${spring.redis.port}")
private int port;
@Value("${spring.redis.timeout}")
private int timeout;
@Bean()
public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory factory){
StringRedisTemplate template = new StringRedisTemplate(factory);
setSerializer(template);//设置序列化工具
template.afterPropertiesSet();
log.info("redis init *********************");
return template;
}
private void setSerializer(StringRedisTemplate template){
@SuppressWarnings({ "rawtypes", "unchecked" })
Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
ObjectMapper om = new ObjectMapper();
// om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
jackson2JsonRedisSerializer.setObjectMapper(om);
template.setValueSerializer(jackson2JsonRedisSerializer);
}
方法二:
使用@ConfigurationProperties(prefix="spring.redis")注解。
@ConfigurationProperties(prefix="spring.redis")
public class RedisConfig extends CachingConfigurerSupport{
private static Logger log = Logger.getLogger(RedisConfig.class);
private String host;
private int port;
private int timeout;
方法三:
读取多个配置文件使用的方法(假设有一个test.properties和application.properties在同级目录):
如何将这个配置文件test.properties的属性和属性值赋给一个JavaBean呢?
需要在类名上加@Configuration、@PropertySource和@ConfigurationProperties这3个注解。
需要注意的是,若Spring Boot版本为1.4或1.4之前,则需要在@PropertySource注解上加location,并指明该配置文件的路径。
test.properties文件
test.host=192.168.20.8
test.port=6379
配置类
@Configuration
@PropertySource(value="classpath:test.properties")
@ConfigurationProperties(prefix="test")
public class TestJava{
private String host;
private int port;
}