springboot从properties或者yml读取配置时的方法

 

方法一:

直接在配置类上加上@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;




}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值