springboot配置文件properties获取pom.xml中的属性
文章目录
我们有时候需要在配置文件中获取一些项目的基本配置,这些配置可能会同时出现在配置文件、pom中,因此可能会出现同时维护多处配置的情况,
时间长了或者配置数增加就可能造成对配置的管理出现困难,出现多处配置不一致等问题,因此本文讲解一下如何在springboot的properties中
同步pom.xml中的配置信息。
1. 在pom中添加build依赖
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
2. 在src/main/resources下设置配置文件application.properties(可以任意命名)写入要读取的配置,使用通配符与pom.xml同步
application.version=@project.version@ 推荐使用这种
application.versionOther=${project.version}
3. 在java文件中书写读取配置代码如下
private static void readVersionAndNameFromProperties() {
String resourceName = "application.properties";
ClassLoader loader = Thread.currentThread().getContextClassLoader();
Properties props = new Properties();
try {
InputStream resourceStream = loader.getResourceAsStream(resourceName);
props.load(resourceStream);
} catch (IOException e) {
e.printStackTrace();
}
app_name = props.getProperty("spring.application.name");
if (app_name == null) {
app_name = "xxxxx";
}
app_version = props.getProperty("spring.application.version");
if (app_version == null) {
app_version = "1.0.0";
}
}
4. 运行测试
pom.xml部分代码如下
<groupId>com.jiexun</groupId>
<artifactId>log</artifactId>
<version>1.0.0</version>
<name>log</name>
运行测试代码在控制台看到打印输出的对应字段属性
version number = 1.0.0
version numberOther = 1.0.0
Process finished with exit code 0