Spring Boot 技术探索

Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".

4、Spring Boot的热部署——spring-boot-devtools方式

平台环境:

名称

版本号

Mac OS X

10.14.5

JDK

1.8.0_201

Apache Maven

3.6.0

IntelliJ IDEA

2019.1 (Ultimate Edition)

Spring Boot

2.1.6.RELEASE

 

操作步骤:

1.pom.xml文件中增加依赖项

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>

 

2、在spring-boot-maven-plugin中增加属性fork,设置值为true

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <fork>true</fork>
            </configuration>
        </plugin>
    </plugins>
</build>

到此,如果使用的是Eclipse就可以了。如果用的是IDEA则继续以下步骤:

 

3、选择 IntelliJ IDEA | Preferences | Build,Execution,Deployment | Compiler 菜单,然后勾选 Build project automatically 复选框

 

4、IDEA中compiler.automake.allow.when.app.running 属性更改为true

选择 IntelliJ IDEA | Preferences | Keymap 菜单,然后在右侧界面的搜索框中输入Maintenance

记住这个快捷键记下这个快捷键: shift + option + command + /

 

然后回到IDEA主窗口,按下这4个神奇的组合键。选择Registry...

 

找到compiler.automake.allow.when.app.running 选项,将它打开

到此大功告成。现在只要代码一修改,然后保存,就会实时触发编译,并重新加载,开发调试十分方便。

但是,如果每个java源代码,随便改点东西就频繁自动编译、重新加载,开销也比较大。

 

下面开始测试:

由于使用了@RestController,因此要增加spring-boot-starter-web的maven引用:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

 

测试Controller:

package com.example.demo.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class IndexController
{
    @RequestMapping("/")
    public String index()
    {
        return "index";
    }
}

 

运行项目,浏览器访问http://localhost:8080

index

 

随意修改返回值后:

index123

 

控制台可以看到SpringBoot自动重启了。

 

Bootstrap Thumbnail Second
MySQL

MySQL is the world's most popular open source database.

GO

Bootstrap Thumbnail Third
算法基础

本书介绍了什么是计算机算法,如何描述它们,以及如何来评估它们。

GO