Spring MVC 集成disconf读取properties

1. Jar包导入

使用mave添加jar依赖

       
           com.baidu.disconf
           disconf-client
       

2.Spring 配置文件

    
    
        
    
    
    

    
        
        
            
                
                classpath:login-conf.properties
                classpath:page.properties
            
        
    

    
        
        
        
            
                
            
        
    

3.编辑properties文件

properties正常些就好了,这里以login-conf.properties为例。

# 登录超时时间
loginConfMsg.login.timeout=60
loginConfMsg.login.tokenTimeout=84600

#登录错误次数及对应的锁定时间,单位s
loginConfMsg.login.firstErrorCount=5
loginConfMsg.login.firstLockTime=600
loginConfMsg.login.secondErrorCount=10
loginConfMsg.login.secondLockTime=3600
loginConfMsg.login.thirdErrorCount=15
loginConfMsg.login.thirdLockTime=7200
loginConfMsg.login.lastErrorCount=16

4.使用Spring注解@Value

Spring提供@Value注解来读取properties文件,并将值注入到对象属性中。
方式为@Value("#{configproperties_disconf[key]}"),其中configproperties_disconf为Spring 配置文件中的用于装在properties文件的beanId


Spring MVC 集成disconf读取properties_第1张图片
image.png

将login-conf.properties文件所需属性注入到LoginConfMsg 中:

@Repository
public class LoginConfMsg {

   @Value("#{configproperties_disconf['loginConfMsg.login.timeout']}")
   public String loginTimeout;
   @Value("#{configproperties_disconf['loginConfMsg.login.tokenTimeout']}")
   public String loginTokenTimeout;
   
   public String getLoginTimeout() {
       return loginTimeout;
   }

   public void setLoginTimeout(String loginTimeout) {
       this.loginTimeout = loginTimeout;
   }

   public String getLoginTokenTimeout() {
       return loginTokenTimeout;
   }

   public void setLoginTokenTimeout(String loginTokenTimeout) {
       this.loginTokenTimeout = loginTokenTimeout;
   }

}

此处是做简单举例,不贴出LoginConfMsg 全部代码。

5.通过注入类的属性使用proerties配置

通过上面配置已经将login-conf.properties的读取工作配置完成,在需要读取login-conf.properties的类中注入LoginConfMsg

    @Autowired
    LoginConfMsg loginConfMsg;

读取形式为直接调用类的get属性方法即可

int lockTime = Integer.valueOf(loginConfMsg.getLoginFirstLockTime()) - seconds;

以上是使用spring集成disconf读取properties文件的配置只用过程

你可能感兴趣的:(Spring MVC 集成disconf读取properties)