切换配置文件,完成参数切换。
1.编辑POM
<dependencies>
<!-- property configuration -->
<dependency>
<groupId>commons-configuration</groupId>
<artifactId>commons-configuration</artifactId>
<version>1.10</version>
</dependency>
</dependencies>
<properties>
<!-- Disable Swagger by default -->
<swagger.enabled>false</swagger.enabled>
</properties>
<profiles>
<profile>
<id>localTest</id>
<properties>
<swagger.enabled>true</swagger.enabled>
</properties>
</profile>
</profiles>
这样配置文件为localTest时开启swagger
2.在resources下新建文件TestConfig.properties
编辑TestConfig.properties
#swagger state
swagger.enabled = ${swagger.enabled}
3.调用
PomProperties.java
package com.test.consts;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.slf4j.LoggerFactory;
/**
* pom中的properties
*
* @author Administrator
*/
public class PomProperties {
private final Configuration config;
private final String mainServerUrl;
private PomProperties(Configuration config) {
this.config = config;
this.mainServerUrl = config.getString("server.main.url");
}
public String getServerBase() {
return config.getString("server.base");
}
public int getServerMaxThreads() {
return config.getInt("server.max.threads");
}
public String getServerResourcePackage() {
return config.getString("server.resource.package");
}
public String getDatabaseDataSource() {
return config.getString("db.datasource");
}
public String getDatabaseSchema(){
return config.getString("db.schema");
}
public String getDatabaseSqlDialect() {
return config.getString("db.sql.dialect");
}
public int getDatabaseSqlPoolMax() {
return config.getInt("db.sql.max.pool");
}
public String getDatabaseUrl() {
return config.getString("db.url");
}
public String getDatabaseUser() {
return config.getString("db.user");
}
public String getDatabasePassword() {
return config.getString("db.pass");
}
public boolean isSwaggerEnabled() {
return config.getBoolean("swagger.enabled");
}
public boolean isCustomLogEnabled() {
return config.getBoolean("custom.log");
}
public boolean isHttpEnabled() {
return config.getBoolean("http.enabled");
}
public int getHttpPort() {
return config.getInt("http.port");
}
public boolean isHttpsEnabled() {
return config.getBoolean("https.enabled");
}
public int getHttpsPort() {
return config.getInt("https.port");
}
public String getSSLKeyStore() {
return config.getString("ssl.keystore");
}
public String getSSLKeyManagerPassword() {
return config.getString("ssl.keymanager.pwd");
}
public String getSSLKeyStroePassword() {
return config.getString("ssl.keystore.pwd");
}
public boolean isMainServer(){
return this.mainServerUrl == null || this.mainServerUrl.isEmpty();
}
public String getMainServerUrl(){
return this.mainServerUrl;
}
public static PomProperties getInstance() {
Configuration config;
try {
config = new PropertiesConfiguration("phx.properties");
} catch (ConfigurationException ex) {
LoggerFactory.getLogger(PomProperties.class).error("init pom property error,", ex);
throw new NullPointerException();
}
return new PomProperties(config);
}
}
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
//swagger
try {
Configuration config = new PropertiesConfiguration("TestConfig.properties");
if(config.getBoolean("swagger.enabled")){
buildSwagger();
handlerList.addHandler(buildSwaggerUI());
}
} catch (ConfigurationException e) {
}
这样当配置文件为localTest时,swagger开启,否则关闭