在上一篇博客中,我们通过实例创建了我们的第一个Spring Boot Web项目,了解了项目的Pom结构,配置文件,今天我们将对Spring Boot入门提升学习,主要包括 热部署和配置文件读取。
1. 热部署
没有热部署的项目,每次更新程序后,需先Stop程序,再Run重新启动项目,程序比较庞大时,启动项目比较慢,这时我们就需要热部署。所谓热部署,就是每次更改程序后,不需要重启启动运行程序,仅仅只需要对编译,程序就可以保持原来的状态继续运行,类似所改即所得。
Spring Boot 的热部署,很简单只需要在pom中配置jar.
配置如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
这时,IDEA右下角会出现Maven需要引入的提示,如下图:
我们直接点击:Import Changes, Maven将下载所需的jar包,耐心等待十几秒钟,直到出现:
接着修改Plugins,加入配置属性:<fork>true></fork> 表示,允许插件强制修改(实现热部署)
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
此时,我们只需要点击“Build”构建项目,并刷新Web请求,页面将更新:
2. 配置文件读取
修改配置文件如下:
server.port=8080
website.name=我的第一个网站
修改TestController如下:
package com.xuyuan.firstdemo;
import com.xuyuan.firstdemo.Config.ConfigerEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
@Autowired
private ConfigerEntity entity;
@RequestMapping(value = "/hello",method = RequestMethod.GET)
public String hello(){
return "hello spring boot,我进行了修改4次!";
}
@GetMapping(value = "/getConfig")
public String webName(){
return entity.getName();
}
}
核心代码,注意:
来看运行结果,
咦,乱码呢?
经过测试需要设置 File Encodings=UTF-8