欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

springboot代码,注解配置获取yml,properties文件的map即键值对

时间:2023-03-13 12:12:39|栏目:JAVA代码|点击:

注解配置获取yml,properties文件map即键值对

yml获取自定义键值对

yml中的键值对

test:
  map:
    key1: value1
    key2: value2
    key3: value3

pom中的依赖配置

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>

代码:

@Component
@ConfigurationProperties(prefix = "test")
public class MyConfiguration { 
    private String name; 
    private Map map = new HashMap(); 
    public Map getMap() {
        return map;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
}

然后在调用层,如controller注入即可测试:

@Autowired
MyConfiguration myConfiguration;

注意:该实例中的yml文件默认是:application.yml文件。也就是说,键值对要写在application.yml文件中;

properties 获取自定义键值对

config.properties 中的键值对:

test.map.key1=value1
test.map.key2=value2
test.map.key3=value3

pom中无依赖配置

代码:

@Component
@Configuration
@PropertySource(value = {"classpath:/config.properties"}, encoding = "utf-8")
@ConfigurationProperties(prefix = "test")
public class MyConfiguration { 
    private String name; 
    private Map map = new HashMap(); 
    public Map getMap() {
        return map;
    }
 
    public void setMap(Map map) {
        this.map = map;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
}

然后在调用层,如controller注入即可测试:

@Autowired
MyConfiguration myConfiguration;

以上实例只是针对于map(键值对)的获取,相对于读取文件,解析文件流来说,方便了许多。

properties配置应用,为什么需要使用properties文件

在项目中我们常常会使用Constants常量类,达到系统全局配置的目的。

但是有些常量需要动态的配置,如果项目上线后,每次修改Constants.java然后再编译,再上传Constants.class文件,再重启服务器。这样导致很繁琐。

如果将需要修改的配置项写成properties文件,将会在项目后期维护带来很大的方便~!

root.url=http://localhost:8080/BNCAR2/
root.path=E:/ws2/BNCAR2/rel/
mall.partstype.url=mall.jsp?rowid=0&typeFlag=0&pid=35
mall.carproduct.url=mall.jsp?rowid=0&typeFlag=1&pid=74
mall.partstype.typename1=\u4FDD\u517B\u5957\u88C5
mall.partstype.typename2=\u7CFB\u7EDF\u517B\u62A4
mall.partstype.typename3=\u8F6E\u80CE\u8F6E\u6BC2
network.province.name1=\u4E0A\u6D77
network.province.name2=\u6C5F\u82CF
pageutil.persize=10

注意名=值之间不要留空格,注意名的命名习惯,一般为小写,层级关系之间用点号分隔。

上一篇:如何用Java Stream写出既高雅又装*的代码

栏    目:JAVA代码

下一篇:RestTemplate使用Proxy代理作为跳板发送请求

本文标题:springboot代码,注解配置获取yml,properties文件的map即键值对

本文地址:http://www.codeinn.net/misctech/227364.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有