Spring读取配置
Spring-读取配置概述在Spring中,动态配置可以在配置中心或者profile文件中放置,而读取配置的方式有很多种,我常用的有以下两种:
通过@Value("${property-name}")注解的方式读取配置,这种方式的好处是简单直接,需要读取哪个配置,直接在需要的类里面添加一个成员变量加上这个注解就可以了,缺点就是对每个需要使用这个配置的类都要加一个成员变量。当然@Value注解还支持通过EL表达式进行一些稍微点的操作,功能还是比较强大的。
通过@ConfigurationProperties注解使用配置类的方式读取,这种方式将配置转换成实体类,其它类要使用它,采用自动注入的方式直接使用即可。 通过@Value注解读取配置在配置文件或配置中心的配置user: name: k读取和适用配置// 读取配置 @Value("${user.name}") private String userName; public void func() { // 使用 System.out.println(userName); }通过@ConfigurationProperties配置类读取配置在配置文件或配置中心的配置prop: user: "k" password: "***" owns: - name: "apple" size: 20 - name: "orange" size: 10配置类import java.util.List; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; import lombok.Data; /** * 用户配置类:从配置文件中读取配置方便使用 */ @Data @Component @ConfigurationProperties(prefix = "prop") public class SpringConfig { private String user; private String password; private List owns; @Data private static class Owns { private String name; private Integer size; } } 使用配置类:简单的示例,获取配置类的bean,然后读取配置。也可以通过自动注入的方式读取配置。/** * 根据类名读取配置 * 例如:"com.kaesar.getup.config.SpringConfig" * * @param propertyClassName * @return * @throws ClassNotFoundException */ @ApiOperation(value = "读取配置", tags = {"根据配置名读取配置"}) @GetMapping("readProperties/{propertyClassName}") public String readProperties(@ApiParam(name = "propertyClassName", value = "配置key", required = true) @PathVariable String propertyClassName) throws ClassNotFoundException { Map propertyClass = applicationContext.getBeansOfType(Class.forName(propertyClassName)); return propertyClass.toString(); }总结
当前,Spring还有一些别的方式读取配置,比如读取系统参数、通过配置文件读取等,具体使用哪种方式就看觉得哪个更方便了。
1.01^{365} 37.7834343329 0.99^{365} 0.02551796445 相信坚持的力量!
iOS13beta7体验分享今天凌晨苹果再一次不按常理出拍牌,在大家等待了三天之后,它才推送第7个iOS13beta版。整个更新包大小大概是300M左右,版本号为13。0(17A5565b)体验设备为iPho
iOS13beta4体验分享修复触控失灵的问题iOS13beta4体验分享今天凌晨苹果向开发者推送了第四个iOS13beta版,本次更新包大小为664。7MB。版本号为13。0(17A5534f)本次体验设备为iPhoneX一
iOS13beta6体验分享iOS13beta6体验分享在一次次打脸后,苹果终于在七夕节发布iOS13的第6个测试版,本次更新包大小为505。1MB。版本号13。0(17A5556d)本次体验设备为iPhon
iOS12。4beta7体验分享iOS12。4beta7体验分享对于iOS12。4正式版大家都已经非常翘首以盼,遗憾的是苹果在今天凌晨推送的是iOS12。4beta7。虽然更新包的大小是2。2G,不过看到了版本号
iOS12。4beta4来袭,苹果还能为它更新些什么?iOS12。4beta4体验分享今天凌晨苹果向开发者推送第四个iOS12。4beta版。版本号为12。4(16G5046d)更新包大小为250290M左右。本次体验设备为iPhon
iOS13beta8体验分享iOS13beta8体验分享今天凌晨苹果向开发者推送了第八个iOS13beta版,更新包大小大约为136。4MB。版本号为13。0(17A55722a)体验设备为iPhoneX一更
iOS12。4beta2更新来袭,又更新些什么?今天凌晨苹果向开发者推送了iOS12。4第二个beta版,版本号为12。4(16G5027i)体验设备为iPhone7PlusiPhoneXiPhone6Plus一更新内容与存在的
iOS13beta5来袭,使用一天后的真实体验分享iOS13beta5体验分享今天凌晨苹果向开发者推送了第五个iOS13的测试版。更新包的大小为578。8MB,版本号为13。0(17A5547d)体验设备为iPhoneX一更新内容
iOS13。3beta3体验分享,老设备续航有所回暖iOS13。3beta3体验分享今天凌晨苹果向开发者推送了iOS13。3开发者预览版,更新包大小为188mb,版本号为13。0(17C5046a)体验设备iPhone11ProMa
iOS13。2第三个版本来袭,苹果出现重大失误。iOS13。2beta2体验分享苹果又开始了疯狂的更新模式,在昨天推送了iOS13。1。3正式版之后,今天又推送iOS13。2的第三个测试版。更新包大小为140MB左右,版本号为1
iOS13体验分享,多设备体验共享iOS13正式版体验分享北京时间2019年9月20日,苹果正式发布了iOS13正式版,今天也是新iPhone的发售之日。本次版本与之前的GM版一样,版本号都为13。0(17A577