获取resources下application.properties配置参数的方法
方法一:通过类加载器获取
定义一个读取配置文件的工具对象
object PorpertyUtil {
val properties = new Properties()
try {
val inputStream =ClassLoader.getSystemResourceAsStream("application.properties")
properties.load(inputStream)
} catch {
case ex: Exception => println(ex)
}
//获取指定的配置参数
def getPorperty(key : String): String = properties.getProperty(key)
}
之后就可以通过:PorpertyUtil.getPorperty(“phoenix_url”) 来获取配置参数
- 配置文件application.conf和application.properties的区别:
conf配置参数要加双引号,properties配置参数不用加双引号
方式二:Typesafe的Config库
利用config库下的ConfigFactory类来加载配置文件,默认依次加载classpath下的application.conf,application.json和application.properties文件。
pom.xml中添加依赖
<dependency>
<groupId>com.typesafe</groupId>
<artifactId>config</artifactId>
<version>1.2.1</version>
</dependency>
通过ConfigFactory.load()加载
val config = ConfigFactory.load()
val phoenixurl = config.getString("phoenix_url")
maven profile动态选择配置文件
在主模块下配置一份开发环境配置和一份测试环境配置,然后在各个子模块中引用,这样方便做统一管理
各子模块的pom.xml文件中配置profile,路径选的是根目录下的src/main/resources
<profiles>
<!--开发环境-->
<profile>
<id>dev</id>
<build>
<resources>
<resource>
<directory>../src/main/resources/dev</directory>
</resource>
</resources>
</build>
</profile>
<!--生产环境-->
<profile>
<id>pro</id>
<build>
<resources>
<resource>
<directory>../src/main/resources/pro</directory>
</resource>
</resources>
</build>
</profile>
</profiles>