Spring Boot配置文件
Spring Boot 整个应用程序只有一个配置文件.properties 或 .yml 文件。Spring Boot 对每个配置项都有默认值,如果都是用默认值,连配置文件都可以不用。当然,我们也可以添加配置文件,用以覆盖其默认值。
properties 是以逗号隔开,而 yaml 则换行+ tab 隔开,这里需要注意的是冒号后面必须空格,否则会报错。yaml 文件格式更清晰,更易读、
多环境配置
在一个企业级系统中,开发时使用开发环境,测试时使用测试环境,上线时使用生产环境。每个环境的配置都可能不一样,比如开发环境的数据库是本地地址,而测试环境的数据库是测试地址。那我们在打包的时候如何生成不同环境的包。
首先,创建 application.yml 文件,在里面添加如下内容:
1 | spring: |
含义是指定当前项目的默认环境为 dev,即项目启动时如果不指定任何环境,Spring Boot 会自动从 dev 环境文件中读取配置信息。我们可以将不同环境都共同的配置信息写到这个文件中。
然后创建多环境配置文件,文件名的格式为:application-{profile}.yml,其中,{profile} 替换为环境名字,如 application-dev.yml,我们可以在其中添加当前环境的配置信息,如添加数据源:
1 | spring: |
这样,我们就实现了多环境的配置,每次编译打包我们无需修改任何东西,编译为 jar 文件后,运行命令:
1 | java -jar api.jar --spring.profiles.active=dev |
其中就是我们要指定的环境。
打包发布与运行
war包运行
pom:
1 | <packaging>war</packaging> |
mvn package 就会生成 war 包,然后放到 Tomcat 当中就能启动,但是这样配置在 Tomcat 是不能成功运行的会报错,需要通过编码指定 Tomcat 容器启动,修改 HelloController 类:
1 | public class HelloController extends SpringBootServletInitializer{ |
由于我们采用web3.0 规范,是没有web.xml 的,而此类的作用与web.xml相同。
这时再打包放到 Tomcat,启动就不会报错了。
jar包运行
1 | <packaging>jar</packaging> |
然后通过 mvn package 打包,最后通过 java 命令启动:java -jar api.jar
springboot热部署与发布
springboot有3中热部署方式:
1.使用springloaded配置pom.xml文件,使用mvn spring-boot:run启动
2.使用springloaded本地加载启动,配置jvm参数 -javaagent:<jar包地址> -noverify
3.使用devtools工具包,操作简单,但是每次需要重新部署
spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用。
热部署方式在IDEA是默认没有打开自动编译的,手动编译需要快捷键(Ctrl+Shift+F9),自动编译的修改配置如下:File-Settings-Compiler-Build Project automatically
1 | <dependency> |
方式一:
IDEA设置:
1 | “File” -> “Settings” -> “Build,Execution,Deplyment” -> “Compiler”,选中打勾 “Build project automatically” 。 |
方式二:
配置:
1 | #热部署生效 |