SpringBoot中免除了大部分手动配置,但是对于一些特定的情况,还是需要我们进行手动配置的,SpringBoot为我们提供了application.properties配置文件,让我们可以进行自定义配置,来对默认的配置进行修改,以适应具体的生产情况,当然还包括一些第三方的配置。几乎所有配置都可以写到application.peroperties文件中,这个文件会被SpringBoot自动加载,免去了我们手动加载的烦恼。但实际上,很多时候我们却会自定义配置文件,这些文件就需要我们进行手动加载,SpringBoot是不会自动识别这些文件。
比如我自己定义了一个放在resource 下面的 generator.properties 的文件,话不多说,直接上干货。
老套路,引入依赖
<dependency>
<groupId>commons-configuration</groupId>
<artifactId>commons-configuration</artifactId>
<version>1.10</version>
</dependency>
新建配置文件 generator.properties
mainPath=com.gpdi.lxq.eladmin
#\u5305\u540D
package=com.gpdi.lxq.eladmin.code
moduleName=generator
#\u4F5C\u8005
author=Lxq
这里我随便写一些东西,都是k,v 的形式。
接下来写一个工具方法来读取到配置文件
/**
* 获取配置文件
*
* @return 配置文件信息
*/
public static Configuration getConfig() {
try {
return new PropertiesConfiguration("generator.properties");
} catch (ConfigurationException e) {
throw new RuntimeException("获取文件失败", e);
}
}
异常可以忽略不看,本来是写自定义异常,为了做测试我就直接写在运行时异常里面。
这样我们就可以获取到配置文件中的信息,现在我们来做下测试看能不能获取到自定义配置文件的东西。
package com.gpdi.lxq.eladmin.code;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
/**
* @description:
* @author: Lxq
* @date: 2020/1/21 9:40
*/
public class Test {
public static void main(String[] args) {
Configuration config = getConfig();
System.out.println(config.getString("author"));
System.out.println(config);
}
/**
* 获取配置文件
*
* @return 配置文件信息
*/
public static Configuration getConfig() {
try {
return new PropertiesConfiguration("generator.properties");
} catch (ConfigurationException e) {
throw new RuntimeException("获取文件失败", e);
}
}
}
可以看到之前我们随便写在配置文件的数据获取到,就是这么简单。