SpringBoot——多环境开发

多环境开发

多环境启动

  • SpringBoot3.0以上需使用另一种格式
# 设置启用的环境
spring:
  profiles:
    active: pro

---
# 开发
spring:
  config:
    activate:
      on-profile: dev
server:
  port: 80

---
# 生产
spring:
  config:
    activate:
      on-profile: pro
server:
  port: 81


---
# 测试
spring:
  config:
    activate:
      on-profile: test
server:
  port: 82

命令行启动参数设置

  • 打包前,先修改idea的默认编码方式(全部修改为UTF-8)

  

  • 打包 package

  

  • 带参数启动SpringBoot(cmd窗口)以测试环境运行

java -jar springboot_04_profile-0.0.1-SNAPSHOT.jar --spring.profiles.active=test

    • 还能修改其他参数运行(如端口号等)

    

 

Maven多环境与SpringBoot多环境优先级

  • maven中多环境配置

  

  • SpringBoot中引用Maven属性

  

  • Maven指令执行完毕后生成了对应的包,其中类参与编译,但是配置文件并没有编译,而是复制到包中

  

  • 解决思路:对于源码中非java类的操作要求加载Maven对应的属性,解析${ } 占位符
  • 对资源文件开启对默认占位符的解析
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>3.2.0</version>
        <configuration>
            <encoding>UTF-8</encoding>
            <useDefaultDelimiters>true</useDefaultDelimiters>
        </configuration>
    </plugin>
  • Maven打包加载到属性,打包顺利通过

  

 

posted @ 2023-03-29 21:57  风陵南  阅读(62)  评论(0)    收藏  举报