多环境配置
切换方式:
spring.profiles.active: dev
spring.profiles.active: prod
启动时切换:
java -jar app.jar --spring.profiles.active=prod
端口更改:--server.port=8060
插件使用
在pom.xml中添加
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>application-${spring.profiles.active}.yml</include>
<include>application.yml</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<spring.profiles.active>dev</spring.profiles.active>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<spring.profiles.active>prod</spring.profiles.active>
</properties>
</profile>
</profiles>
application.yml中配置spring.profiles.active: @spring.profiles.active@
然后在idea -> maven Profiles中可以切换,根据不同环境,一键切换不同配置,也能方便打包。
启动类更改服务配置
获取java命令的参数,赋予到web服务中,可配置端口号等信息
@SpringBootApplication
public class DockerTestApplication implements WebServerFactoryCustomizer<ConfigurableWebServerFactory> {
private static Integer _port = null;
public static void main(String[] args) {
System.out.println(Arrays.asList(args));
for (String arg : args) {
if (StringUtils.isBlank(arg)){
continue;
}
if (arg.startsWith("port=")){
String str = arg.substring(5);
if (StringUtils.isNumeric(str)){
_port = Integer.valueOf(str);
}
}
}
SpringApplication.run(DockerTestApplication.class, args);
}
@Override
public void customize(ConfigurableWebServerFactory factory) {
//变更端口-同一个jar 通过 java -jar xxx port=200x 命令发布到多个端口
if (_port != null){
System.out.println("_port = " + _port);
factory.setPort(_port);
}
}
}
Layui的使用
错误记录
使用table.render渲染数据的时候,因[[]]没换行,导致一直错误,感谢网上博客提供的正确处理。
此博客正在更新中...