SprintBoot系列(八):yml文件设置多环境&启动第一个SpringBoot应用

1、通过yml文件设置环境配置

在之前的例子中,都是通过 resources/application.properties 定义一些配置,如何可以通过yml文件配置呢?

原 application.properties 的文件

server.port= 8082
mysql.port= 3306
mysql.ip= 192.168.8.8
hero.condition= fox222
porject-PathName= com.fcors.fcors

在resources下创建一个file,并命名为application.yml.(注意key和value必须有个空格)

server:
  port: 8082
mysql:
  port: 3306
  ip: 192.168.8.8
hero:
  condition: fox222
porject-PathName: com.fcors.fcors

2、 编写多环境的配置文件

在实际工作中,我们往往会有很多的环境,例如本地的开发环境、测试环境和生产环境。如何在代码中定义不同的环境配置文件?这样有利于调试开发。

2.1、分别创建需要的yml文件

例如在resources/config下分别创建

  • 开发环境: application-dev.yml
  • 测试环境: application-test.yaml
  • 生产环境: application-prod.yml

例如不同的环境端口有可能不同,我们就可以在对应的yml文件中定义

例如: application-prod.yml

server:
   port:8080

例如: application-dev.yml

server:
   port:8082

2.2、激活环境配置文件

例如:如何在测试环境执行 application-test.yaml ,如何生产环境执行 application-prod.yml ?

修改 resources/application.yml

spring:
  profiles:
     active: prod

3、启动第一个SpringBoot应用

SpringBoot打包后会生成一个jar包,它内部包含了Tomcat,可以在java环境或者制作镜像运行。下面开始实操,创建第一个SpringBoot的应用

3.1、maven打包输出jar包

3.1.1 IDEA方式

3.1.1.1、进入maven界面

JAVA、基础技术、技术与框架SprintBoot系列(八):yml文件设置多环境&启动第一个SpringBoot应用插图

3.1.1.2 在Lifecycle>>install选择“Run xxx [install]”

JAVA、基础技术、技术与框架SprintBoot系列(八):yml文件设置多环境&启动第一个SpringBoot应用插图1

3.1.2、IDEA结合Maven命令

mvn clean package

JAVA、基础技术、技术与框架SprintBoot系列(八):yml文件设置多环境&启动第一个SpringBoot应用插图2

3.2、运行jar包

3.2.1、java命令运行jar包

简单模式:java -jar xxx.jar

java -jar fcors-0.0.1-SNAPSHOT

设置启动哪个环境配置

java -jar xxx.jar --spring.profiles.active=dev 

3.2.2、容器化运行

3.2.2.1、制作镜像,创建dockerfile

FROM openjdk:8
WORKDIR /data/app
COPY ./target/VankeK3Api-0.0.1-SNAPSHOT.jar .
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ >/etc/timezone
EXPOSE 8082
ENTRYPOINT ["java","-jar","VankeK3Api-0.0.1-SNAPSHOT.jar"]
shell>docker build -t vanke-k3api .

3.2.2.2、运行镜像

shell> docker run -itd –name vanke-k3api -p 8082:8082 vanke-k3api