Springプロジェクトのホット・デプロイメント・スキーム

6002 ワード

最近作成したプロジェクトをファイルに変更するには、プロジェクトを再起動する必要があり、特に時間がかかりませんので、ホットな導入案を探りたいと思います.
Spring-bootプロジェクトのホット導入
自己測定:Spring-boot 1.5.6.RELEASEバージョンはInteljでホットな導入が可能
Spring-bootプロジェクトの構築
maven依存:
<properties>
        <spring.boot.version>1.5.6.RELEASEspring.boot.version>
properties>
<dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
            <version>${spring.boot.version}version>
dependency>

コードファイル:Applicationプロジェクト起動ファイル
@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application {
    public  static  void  main(String [] args){
        SpringApplication.run(Application.class, args);
    }
}

TestControlコントローラ
@RestController
public class TestController {
    @RequestMapping("/user")
    public User thing() {
        User user =  new User() ;
        user.setId(2);
        user.setName("  ");
        user.setAge(6);
        return  user ;
    }
}

Userエンティティークラス
public class User {
    private Integer id;
    private String name;
    private Integer age;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}

プロジェクトテストの開始
起動は何の変更もせずに、「デバッグアプリ」に直結すればよい
ブラウザの入力:http://localhost:8080/user戻り:{“id”:2,“name”:“名前”,“age”:6}
次にTestControlクラスを変更し、ageを20に変更し、ショートカットキー:Ctrl+Shift+F 9再コンパイルこのときDebugウィンドウの左下隅にヒントがあります(このステップは無視できます):Application:1 class reloaded Stop debug session
次にブラウザをリフレッシュします:{“id”:2,“name”:“名前”,“age”:20}
考える
Spring-bootの新しい特性なのかIntelj IDEA 2017の新しい特性なのかは不明です.でも、使えばいいんですよね.
次に、Spring-bootホット起動のための他の人の案を提案します.他の状況に適している可能性があります.
pom.xml Spring-bootのホットデプロイモジュールを明示的に追加

<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-devtoolsartifactId>
    <optional>trueoptional> 
dependency>

一般Springプロジェクトのホット・デプロイメント・スキーム
このプロジェクトはSpring-Loadedを使用してホット・デプロイされています.メリットはSpring-Bootプロジェクトだけを制限する必要はありません.
githubアドレス:https://github.com/spring-projects/spring-loaded使用は簡単です:1、最新バージョンのjarパッケージをダウンロードします2、実行するVM Optionに加えます:
-javaagent:<pathTo>/springloaded-{VERSION}.jar -noverify