这个是添加默认 Profile 的方式,原来我是尝试在 application 配置文件里面设置,但是不生效,最后我只好手动编码实现。
这个方法是和 main 方法同级的一个方法,需要 Autowired Spring 的 Environment 接口,然后获取 Profile 的配置,即可自行实现判断逻辑。(期待后面 Profile 能更加完善,实现 Block 一类的属性)
Spring Boot 官方推崇的部署方式是 jar,原因我们前面也分析过了,但是也会存在打包为 war 去部署的需求。这里我们只需要在和 Application.class 同级的路径下继承 SpringBootServletInitializer 类去定义一下 SpringApplicationBuilder 的配置即可,还是很轻松的。我这个截图的示例里面用了前面设置默认 Profile 的方法,重用了一下代码。
有了这么一个类之后,我们就可以在 pom 里面设置项目打包为 war,它既能 java –jar去执行这个 war,也能直接丢到 Tomcat 一类的容器里面运行。
我们在 17年的实践中发现,很多时候,非 Fatjar 也有一定的意义,于是有了下属的打包启动实践,大家可以去参考。
https://gist.github.com/syhily/c66310c150653e8f92b9fa6693df8207
讲得好!