一.三.三 pom.xml 中添加 devtools 热布署依赖
<!--导入自动热布署的依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency>
重启项目之后,先验证一下以前的 url可以正常的访问响应。
一.三.四 修改代码,进行验证
将输出信息改成 “我是两个蝴蝶飞,我突然不开心了”
会发现,控制台会自动重启了
刷新浏览器,会发生改变
一.三.五 自动热布署并不是万能的
刚才,我们只是简单的修改方法内的代码,我们在实际开发中,除了修改方法内的代码,还常常创建新的方法和创建类文件。
这个时候,看看会是什么效果?
一.三.五.一 创建新方法
添加一个新方法 helloWorld()
控制台并没有重启
访问地址: http://localhost:8027/Yue/helloWorld
会发现,
报错了。
我们可以将其与 Idea 进行整合使用, Idea 使用 ctrl+F9会自动编译
点击 Yes ,刷新浏览器,可以发现,能够生效了。
一.三.五.二 创建新类
创建一个新的 InfoController 类,看看效果。
控制台并没有重新启动
需要 搭配 Ctrl+F9 一块使用,才可以。
自动热部署 ,生产环境时应该被禁用,打包时,也不会包含此 devtools.
二. SpringBoot的多环境配置
在我们实际开发中,常常会有多种环境, 开发环境,测试环境,预生产环境,生产环境,这些环境的配置是不相同的(数据库信息一定不同)。 以前只有一个配置文件,不同的环境进行转换时,需要将配置文件进行替换,这样很不方便。 如果能够在一个总的配置文件里面,指定这次运行加载的配置文件就好了, 或者能在环境运行时,指定就更好了。 SpringBoot提供了这种支持,叫做多环境转换。
老蝴蝶这儿用 开发,测试,生产 三个环境进行演示,环境的区别,只用简单的端口号和项目路径进行表示。
以前的 application.yml 配置文件信息是这样:
常见的有三种配置方式。
二.一 多个配置文件,主配置文件进行指定
二.一.一 创建多个配置文件信息
application.yml 是主配置文件信息, application-dev.yml 是开发环境的配置。
application-test 是测试环境的配置, application-proc 是生产环境的配置。
注意,新添加的配置文件的命名,一定要是 application-xxx.yml
二.一.二 为不同的配置文件设置不同的配置信息
二.二.二.一 开发环境 dev 配置
server: port: 8081 servlet: context-path: /Yue1
二.二.二.二 测试环境 test 配置
server: port: 8082 servlet: context-path: /Yue2
二.二.二.三 生产环境 proc配置
server: port: 8083 servlet: context-path: /Yue3
二.二.二.四 主环境配置
用 spring.profiles.active 属性指定使用哪一个配置文件。
# 将以前的配置去除 #server: # port: 8027 # servlet: # context-path: /Yue spring: profiles: active: dev # 指定要使用哪一个环境
此时,使用的是开发环境。