快速開發的祕訣之SpringBoot開啓熱部署

人們寧願去關心一個蹩腳演員的喫喝拉撒和雞毛蒜皮,而不願瞭解一個普通人波濤洶湧的內心世界...

前言

關於如何搭建SpringBoot工程以及開啓Web功能,
可以查看我的這篇博客:用Spring Initializr快速構建SpringBoot及整合MVC

熱部署

熱部署可以讓你在修改代碼不重啓項目的情況下,直接刷新瀏覽器就自動生效,簡直不要太爽

第一步,在依賴管理文件pom.xml中導入依賴;

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-devtools</artifactId>
	<optional>true</optional><!-- 防止將devtools依賴傳遞到其他模塊中 -->
</dependency>

第二步,打開IDEA,左上角"File" -> “Settings”,或者點擊IDEA工具欄的扳手圖標
在這裏插入圖片描述
進入IDEA的設置,在"Build,Execution,Deployment"下找到"Compiler",再找到"Build project automatically",在前面的框框上面打上"√",再點擊"OK"。
在這裏插入圖片描述
最後一步,打開運行時編譯,首先按住快捷鍵 Shift+Ctrl+Alt+/,點擊"Register"
在這裏插入圖片描述
再選擇"compiler.automake.allow.when.app.running"選項,在後面的方框中打上√,再點擊右下角的"close"即可。
在這裏插入圖片描述
最後再配置一下熱部署的策略,點擊IDEA工具類上方的Application,再點擊Edit Configurations...
在這裏插入圖片描述
然後找到Running Application Update Policies下方的On 'Updatae' action以及On frame deactivation選項,下拉框全部選擇爲Update classes and resources,再點擊右下角的Apply -> Cancel或者直接點擊OK即可:
在這裏插入圖片描述

到此,大功告成!

測試一下

下面來讓我們來測試一下熱部署,順便複習一下如何把一個Bean放入Spring容器中

先新建一個實體類:

package com.guqueyue.entity;

/**
 * @author guqueyue
 * @Date 2020/4/14
 **/
//lombok插件的註解
@Data // 若未使用lombok插件,請自行生成getter、setter以及toString方法
@AllArgsConstructor // 若未使用lombok插件,請自行生成有參構造方法
@NoArgsConstructor // 若未使用lombok插件,請自行生成無參構造方法
@Accessors(chain = true) // 開啓鏈式編程
public class Person {

    private String name;
    private Integer age;

}

再新建一個配置類

package com.guqueyue.config;

/**
 * @author guqueyue
 * @Date 2020/4/15
 **/
@Configuration //表示當前類是配置相關的
public class WebConfig {

    @Bean // 把方法的返回值放到Spring容器中,id就是方法名稱
    @Scope(scopeName = "prototype") // 設置單例或者原生
    public Person person() {

        // 創建一個對象
       Person person = new Person()
               .setName("小白")
               .setAge(12);

        return person;
    }

}

然後創建Web層,如:

package com.guqueyue.controller;

/**
 * @author guqueyue
 * @Date 2020/4/15
 **/
@RestController
public class TestController {

    @Autowired // 注入person
    private Person person;

    @RequestMapping("/test")
    public Person getPerson() {

        return person;
    }
}

啓動程序,打開瀏覽器,輸入"http://localhost:8080/test",顯示:
在這裏插入圖片描述
說明Bean注入成功,再在person()中修改一下person:

/**
 * @author guqueyue
 * @Date 2020/4/15
 **/
@Configuration //表示當前類是配置相關的
public class WebConfig {

    @Bean // 把方法的返回值放到Spring容器中,id就是方法名稱
    @Scope(scopeName = "prototype") // 設置單例或者原生
    public Person person() {

        // 創建一個對象
       Person person = new Person()
               .setName("小白")
               .setAge(12);

       // 修改這個對象
       person.setName("大白(●—●)").setAge(19);
        return person;
    }

}

無須重新啓動程序,直接刷新瀏覽器頁面,顯示:
在這裏插入圖片描述
則說明熱部署成功!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章