在Spring Boot中自动重新加载新类

时间:2015-11-22 21:01:55

标签: java spring-boot

我写了这个简单的代码

package com.abhi;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@EnableAutoConfiguration

public class HelloWorldController {
    @RequestMapping("/")
    @ResponseBody
    String getMessage() {
        return "<h1>Hello World</h1>";
    }

    public static void main(String args[]) {
        SpringApplication.run(HelloWorldController.class, args);
    }
}

我正在使用Gradle(Inside IntelliJ Idea)编译并运行它。

group 'com.abhi'
version '1.0-SNAPSHOT'

apply plugin: 'java'
apply plugin: 'application'
mainClassName = "com.abhi.HelloWorldController"

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '1.3.0.RELEASE'
}

现在我在intellij中运行它并在http://localhost:8080访问它。它工作正常。但是如果我将字符串更改为Hello World New并重新编译...浏览器仍会显示旧的&#34; Hello World&#34;在刷新。

那么有没有一种方法可以更改字符串并重新编译,我的更改会在不重新启动Web服务器的情况下即时获取?

3 个答案:

答案 0 :(得分:2)

从Spring Boot 1.3.0开始,Developer tools offer a live reload feature(以及更多!)。

答案 1 :(得分:2)

您也可以使用JRebel来执行此操作。

答案 2 :(得分:1)

尝试使用Spring Loaded。请查看以下链接:

Spring Hot-Swapping

Github Spring Loaded