SpringBoot常用知识点

一:多profiles切换

yml支持多模块文档块

server:
  port: 8081
spring:
  profiles:
    active: dev #要激活的环境

--- #开发环境
spring:
  profiles: dev
server:
  port: 8082

--- #生产环境
spring:
  profiles: prod
server:
  port: 8083

推荐使用不同的配置文件做多环境配置,在配置文件名称加-后缀,后缀名即为环境名


image.png

激活指定配置文件的方法

  1. 直接在application.yml的配置文件中使用 spring.profiles.active=dev|prod
  2. 设置虚拟机参数 -Dspring.profiles.active=dev|prod
  3. 命令行参数启动:java -jar app.jar --spring.profiles.active=prod

二:SpringBoot打包问题

打成指定jar名称

<build>
  指定打包的文件名称
  <finalName>app</finalName>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
  </plugins>
</build>

若工程中有多个mainclass,需要指定主启动类

<build>
  <finalName>app</finalName>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
      <configuration>
        <mainClass>com.zzw.AppApplication</mainClass>
      </configuration>
      <goals>
        <goal>repackage</goal>
      </goals>
    </plugin>
  </plugins>
</build>

如何打成一个war包

  1. 修改pom文件,将打包方式改成war


    image.png
  2. 添加Tomcat依赖,修改scope
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-tomcat</artifactId>
  <!--只在编译或者测试的时候使用-->
  <scope>provided</scope>
</dependency>
  1. 修改主启动类
@SpringBootApplication
public class SpringBootDemoApp extends SpringBootServletInitializer {
    public static void main(String[] args) {
        SpringApplication.run(SpringBootDemoApp.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(SpringBootDemoApp.class);
    }
}
  1. 打成war包,放到tomcat上运行
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容