热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

springboot自动重启的简单方法

Springboot提供了热部署的方式,当发现任何类发生了改变,马上通过JVM类加载的方式,加载最新的类到虚拟机中。这篇文章主要介绍了springboot自动重启的实现方法,需要的朋友可以参考下

1. 必须重启

目前的Springboot,当发生了任何修改之后,必须关闭后再启动Application类才能够生效,显得略微麻烦。 Springboot提供了热部署的方式,当发现任何类发生了改变,马上通过JVM类加载的方式,加载最新的类到虚拟机中。 这样就不需要重新启动也能看到修改后的效果了

2. pom.xml

做法很简单,在pom.xml中新增加一个依赖就行了

 
  org.springframework.boot 
  spring-boot-devtools 
  true  
 
<&#63;xml version="1.0" encoding="UTF-8"&#63;> 
 
  4.0.0 
 com.how2java 
 springboot 
 0.0.1-SNAPSHOT 
 springboot 
 springboot 
 war 
   
    org.springframework.boot 
    spring-boot-starter-parent 
    1.5.9.RELEASE 
   
   
     
      org.springframework.boot 
      spring-boot-starter-web 
     
     
      org.springframework.boot 
      spring-boot-starter-tomcat 
      provided 
     
     
       junit 
       junit 
       3.8.1 
       test 
     
     
     
       javax.servlet 
       javax.servlet-api 
       provided 
     
        
           javax.servlet 
           jstl 
        
     
     
        org.apache.tomcat.embed 
        tomcat-embed-jasper 
        provided 
       
     
      org.springframework.boot 
      spring-boot-devtools 
      true  
     
   
   
    1.8 
   
   
     
       
        org.springframework.boot 
        spring-boot-maven-plugin 
       
     
   
 

3.重启测试

重新启动Application,然后随便修改一下HelloController, 就会如图所示观察到控制台的自动重启现象

补充:

下面看下SpringBoot自动重启、热启动

SpringBoot自动重启的两种方法:

1)在项目的pom中直接添加plugin,如下:


 
   
        org.springframework.boot
        spring-boot-maven-plugin
        
        
          
            org.springframework
            springloaded
              1.2.6.RELEASE
          
        
      
 
   

当对classPath(包含javadiamante以及其他配置文件等)里的文件操作完成保存的时候,项目会自动重启,免去了手动重启项目的麻烦;

2)使用springBoot为我们提供的工具类,在pom中添加依赖;

   
    
    
      org.springframework.boot
      spring-boot-devtools
     
   

DevTools是SpringBoot提供的开发工具,在激活了开发者工具以后,classpath 里对文件进行任何操作都会触发应用程序重新启动。SpringBoot开发者工具在重新启动时会排除 /META-INF/resources 、/resources 、/static 、/public 和/templates ; 可以设置Spring.devtools.restart.exclude 属性来覆盖默认的重启排除目录 ;

 如果想要关闭自动重启 则可以这样设Spring.devtools.restart.enable= false;设置触发文件 必须修改这个触发文件才能触发重启 spring.devtools.restart.trigger-file 属性 ;当应用程序以完整打包好的jar或war文件运行时,开发者工具会被禁用。 激活开发者工具后,Spring boot 会启动一个内嵌的LiveReload服务器,在资源文件发生变化时会触发刷新浏览器。你要做的就是在浏览器中安装LiveReload; 如果想要排除内嵌的浏览器 Spring.devtools.livereload.enableled=false ;

总结

以上所述是小编给大家介绍的springboot自动重启的简单方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


推荐阅读
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • 标题: ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
author-avatar
钟杰辉_576
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有