从零开始学springboot笔记(三)-Spring boot之热部署之Springloaded(仅做了解,实际开发中不用它)

问题的提出:
在编写代码的时候,你会发现我们只是简单把打印信息改变了,就需要重新部署,如果是这样的编码方式,那么我们估计一天下来就真的是打几个Hello World就下班了。那么如何解决热部署的问题呢?那就是springloaded;

在pom.xml文件添加依赖包:
<build>
      <plugins>
          <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin </artifactId>
                 <dependencies>  
               <!--springloaded  hot deploy -->  
               <dependency>  
                   <groupId>org.springframework</groupId>  
                   <artifactId>springloaded</artifactId>  
                   <version>1.2.4.RELEASE</version>
               </dependency>  
            </dependencies>  
            <executions>  
               <execution>  
                   <goals>  
                       <goal>repackage</goal>  
                   </goals>  
                   <configuration>  
                       <classifier>exec</classifier>  
                   </configuration>  
               </execution>  
               </executions>
        </plugin>
      </plugins>
</build>

运行方法一:使用spring-boot:run

这时会下载一些文件,下载完成后会启动应用,等启动成功后测试:

未修改前测试结果:

修改后不用重启结果:

@RequestMapping("/getDemo")
public Demo getDemo(){
    Demo demo = new Demo();
    demo.setAddress("谁登录11111看风景");
    demo.setAge(12221);
    demo.setCreateTime(new Date());
    return demo;
}

 

测试成功!

 运行方法二:(有点麻烦而且有bug,仅做了解)

如果使用的run as – java application的话,那么还需要做一些处理。

把spring-loader-1.2.4.RELEASE.jar下载下来,放到项目的lib目录中,然后把IDEA的run参数里VM参数设置为:
-javaagent:.libspringloaded-1.2.4.RELEASE.jar -noverify
然后启动就可以了,这样在run as的时候,也能进行热部署

说明:Springloaded不是最终选择的热部署方案,这两种方式仅做了解;因为:通过使用springloaded进行热部署,但是有些代码修改了,并不会进行热部署。比如新创建一个方法、新属性等,这些并没有被部署到服务器;

原文地址:https://www.cnblogs.com/xh_Blog/p/10931611.html