zoukankan      html  css  js  c++  java
  • 从零开始学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进行热部署,但是有些代码修改了,并不会进行热部署。比如新创建一个方法、新属性等,这些并没有被部署到服务器;

  • 相关阅读:
    关于feign调用请求头丢失分析
    并发下编写SQL的注意事项
    Sentinel降级规则整理
    Mybatis-Plus使用整理
    Docker各种零散命令整理
    set集合怎么保证不重复的
    idea启动项目ava heap space
    网络穿透工具--钉钉HTTP穿透
    Log4j基本使用
    ide中普通java程序打包
  • 原文地址:https://www.cnblogs.com/xh_Blog/p/10931611.html
Copyright © 2011-2022 走看看