[toc]Spring-读取配置概述在Spring中,动态配置可以放在配置中心,也可以放在profile文件中,读取配置的方式有很多种。我通常使用以下两个:通过@Value("${property-name}")注解读取配置。这种方法的优点是简单直接。需要读取哪个配置,直接在需要的类中添加一个成员变量,加上这个注解即可,缺点是每个需要使用这个配置的类都必须添加一个成员变量。当然@Value注解也支持通过EL表达式进行一些操作,功能还是比较强大的。使用配置类来读取@ConfigurationProperties注解。此方法将配置转换为实体类。其他类可以直接使用自动注入。通过@Value注解读取配置文件或配置中心的配置user:name:k读取并应用配置//读取配置@Value("${user.name}")privateStringuserName;publicvoidfunc(){//使用System.out.println(userName);}通过@ConfigurationProperties配置类读取配置文件或配置中心配置的配置prop:user:"k"password:"***"owns:-name:"apple"size:20-name:"orange"size:10配置类Data;/***用户配置类:从配置文件中读取配置,方便使用*/@Data@Component@ConfigurationProperties(prefix="prop")publicclassSpringConfig{privateStringuser;私有字符串密码;私有列表拥有;@DataprivatestaticclassOwns{私有字符串名称;私有整数大小;}}使用配置类:一个简单的例子,获取配置类的bean,然后读取配置。配置也可以通过自动注入读取。/***根据类名读取配置*例如:"com.kaesar.getup.config.SpringConfig"**@parampropertyClassName*@return*@throwsClassNotFoundException*/@ApiOperation(value="读取配置",tags={"根据配置名称读取配置"})@GetMapping("readProperties/{propertyClassName}")publicStringreadProperties(@ApiParam(name="propertyClassName",value="configurationkey",required=true)@PathVariableStringpropertyClassName)抛出ClassNotFoundException{MappropertyClass=applicationContext.getBeansOfType(Class.forName(propertyClassName));返回propertyClass.toString();}总结目前Spring还有一些其他的读取配置的方式,比如读取系统参数,通过配置文件读取等,具体使用哪种方式就看使用哪种更方便了。$1.01^{365}≈37.7834343329$$0.99^{365}≈0.02551796445$相信坚持的力量!