1、使用Spring-Boot-Devtools实现热加载(这种方式会自动重启)

devtools的原理:

深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建   一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间(并不是不需要重启,而是重启的时间很快,到了可以忽略的地步)。

实现:

1、加入依赖

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<scope>true</scope>
</dependency>

2、设置IDEA

主要有两个地方的设置

1)  “File” -> “Settings” -> “Build,Execution,Deplyment” -> “Compiler”,选中打勾 “Build project automatically”

2) 组合键:“Shift+Ctrl+Alt+/” ,选择 “Registry” ,选中打勾 “compiler.automake.allow.when.app.running”    (这个是按照字母来排序的)

OK,设置完成,直接启动即可

2、spring-loaded实现热加载(这种方式依赖本地jia包,但是中间修改之后没有重启的过程)

1、下载本地springloaded  的jar包   至于版本在我做的时候选择jdk1.8  +1.2.6.RELEASE  出现了问题,似乎是由于1.8 Lambda表达式引起的问题,具体没有深究,我换成了1.2.8.RELEASE   所以本例使用的是1.2.8

下载地址附上http://central.maven.org/maven2/org/springframework/springloaded/1.2.8.RELEASE/springloaded-1.2.8.RELEASE.jar

如果这个链接失效了,那就直接去maven仓库中找然后下载下来,放于本地磁盘

2、启动设置

在我们设置启动的时候添加一个参数即可

重点D:\Maven\springloaded-1.2.8.RELEASE.jar这个就是我们jar包所在的位置

OK,完结,现在直接启动即可

示例:

在这期间没有重启项目哦~~~

SpringBoot 热部署 + IDEA的更多相关文章

  1. SpringBoot(六):springboot热部署

    在j2ee项目开发中,热部署插件是JRebel.JRebel的使用为开发人员带来了极大的帮助,且挺高了开发便捷.而在SpringBoot开发生态环境中,SpringBoot热部署常用插件是:sprin ...

  2. 【SpringBoot】SpringBoot热部署和配置文件自动注入实战

    ========================3.SpringBoot热部署devtool和配置文件自动注入实战 ============================ 1.SpringBoot2 ...

  3. SpringBoot热部署配置(基于Maven)

    热部署的意思是只要类中的代码被修改了,就能实时生效,而不用重启项目.spring-boot-devtools 是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去.原 ...

  4. idea配置SpringBoot热部署之自动Build

    一.pom.xml文件导入所需依赖文件 SpringBoot热部署插件 <dependency> <groupId>org.springframework.boot</g ...

  5. idea中设置springboot热部署

    在idea中设置springboot热部署,项目修改的时候不用手动重启应用 1,pom中添加依赖 <dependency> <groupId>org.springframewo ...

  6. Springboot 热部署中存在冲突的问题

    SpringBoot热部署有2中: 1.使用 Spring Loaded 2.使用 spring-boot-devtools 具体怎么用.自己百度! 在使用第一种时候,整合SpringBoot和通用M ...

  7. SpringBoot热部署的两种方式

    SpringBoot热部署方式一共有两种,分别使用两种不同的依赖 SpringBoot 1.3后才拥有SpringBoot devtools热部署 ①:spring-boot-devtools   ② ...

  8. SpringBoot热部署报错(BeanCreationException: Error creating bean with name 'classPathFileSystemWatcher' d)

    springboot热部署配置方法 http://blog.csdn.net/pyfysf/article/details/78791292 异常信息如下 org.springframework.be ...

  9. SpringBoot"热"部署解决方案

    作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 SpringBoot热部署两种方式 1.SpringLoader 插件 ​ 缺点: Java 代码做部署处理.但是对页面无能为力. 2.DevToo ...

  10. springboot热部署设置

    springboot提供了热部署,所谓热部署就是当你修改了文件代码,不用重新去启动服务器,而你只要重新build一下当前项目就可以重新编译了.而这就是热部署. 其实springboot热部署就是通过一 ...

随机推荐

  1. TestNG设置测试用例执行优先级

    @Test(priority = x)设置测试用例执行优先级.x默认为0,0的优先级最高,0>1>2>3... import org.testng.annotations.Test; ...

  2. E - Cricket Field

    Description   Once upon a time there was a greedy King who ordered his chief Architect to build a fi ...

  3. [bzoj1925][Sdoi2010][地精部落] (序列动态规划)

    Description 传说很久以前,大地上居住着一种神秘的生物:地精. 地精喜欢住在连绵不绝的山脉中.具体地说,一座长度为 N 的山脉 H可分 为从左到右的 N 段,每段有一个独一无二的高度 Hi, ...

  4. elasticsearch数据库使用

    elasticsearch的一个最为显著的优点:快速全文检索.关于elasticsearch 全文检索的原理,请看:https://blog.csdn.net/wolfcode_cn/article/ ...

  5. java中List遍历删除元素-----不能直接 list.remove()

    https://blog.csdn.net/github_2011/article/details/54927531 这是List接口中的方法,List集合调用此方法可以得到一个迭代器对象(Itera ...

  6. BNUOJ 23905 滑雪

    滑雪 Time Limit: 1000ms Memory Limit: 65536KB This problem will be judged on UESTC. Original ID: 13096 ...

  7. HDU - 3407 - String-Matching Automata

    先上题目: String-Matching Automata Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K ...

  8. 为什么说Ubuntu的运行级别为2

    继上一篇文章http://www.cnblogs.com/EasonJim/p/7163069.html深入研究了Linux的运行级别之后,发现网上大部分都说Ubuntu的运行级别默认为2,那么下面就 ...

  9. SiteMesh2-sitemesh.xml的其它映射器的用法

    在sitemesh.xml中做常用的三个映射器,总结如下: 映射器元素的顺序确定优先级.良好的应用程序应使用以下顺序, Parameter query = ParameterDecoratorMapp ...

  10. 如何在eclipse中用maven编译

    在eclipse中用maven编译的方法: 在项目中的“pom.xml”文件上点击右键,在弹出的菜单中选择“Run AS”à“Maveninstall”来编译和生成项目.如下图所示: 在编译和生成过程 ...