投稿    登录
欢迎加入Nice Coder,与众多Coder分享经验,群号:530244901

【原创】Spring Boot热部署配置

框架 wjx@admin.cc 320浏览 0评论

    sping-boot是一款非常优秀的微框架,spring-boot中有内嵌的servlet容器,支持jar包部署模式。我们在做一个项目的时候,经常遇到修改之后需要重新部署的情况。而且一个大型项目部署起来速度是比较慢的,热部署的需求就应运而生,我们在普通的web项目中可以使用jrebel等热部署插件实现热部署,但是在使用jar包部署的spring-boot项目中,jrebel就无法使用了。这时候我们有两种常用的方法来实现热部署。

开发环境:idea+maven

方式一:使用springloaded 热加载

      在pom.xml中添加以下插件:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <dependencies>
	<dependency>
            <groupId>org.springframework</groupId>
	    <artifactId>springloaded</artifactId>
	    <version>1.2.6.RELEASE</version>
	</dependency>
    </dependencies>
</plugin>

添加这个插件之后,通过mvn:spring-boot:run命令启动该项目,在类修改之后用Ctrl+F9重新编译,然后重新编译之后的类会自动被加载进去,这个叫做热加载,但是这样的话,在我们对Controller的路径进行修改的时候,发现修改是无效的,因为Controller的映射路径是在项目启动的时候被加载的,我们在对已经加载过的映射路径进行修改之后,该路径是无法被加载的,能够被更新的之后类中的具体逻辑,这种方式也不支持对配置文件的热加载,原理相同。而且关于类的热加载,即使我们不用这个插件,在启动项目的时候使用debug模式,在我们对类修改之后也会发生类的热加载。

(推荐)方式二:使用devtools 热启动

 在pom.xml中添加以下依赖。

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

然后启动项目。在类进行修改之后,用Ctrl+F9进行编译,然后项目就会自动重启。这种方法对配置文件,Controller映射路径都有效,因为这种方式是热启动,重启的过程中已经重新加载了配置。这也是推荐的一种做法。

转载请注明:王镜鑫的个人博客 » 【原创】Spring Boot热部署配置

喜欢 (6)or分享 (0)

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请狠狠点击下面的

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址