美文网首页SpringBoot极简教程 · Spring Boot
Springboot与idea中Springboot热部署配置

Springboot与idea中Springboot热部署配置

作者: 人生路的蜗牛 | 来源:发表于2020-04-22 17:18 被阅读0次

springboot是用来改变spring等框架使用过程中的哪些问题的呢?

spring的优缺点:

优点:

spring是java企业版(J2EE)的轻量级替代名。无需开发重量级的EJB,spring为企业级java开发提供了一种相对简单的方法,通过依赖注入(DI)与面向切面编程(AOP)的方式,用简单的Java对象实现了EJB的功能。

缺点:

    虽然Spring的组件代码是轻量级的,但是他的配置确实重量级的。一开始,Spring用XML配置,而且是很多的XML配置。Spring2.5引入了基于注解扫描的方式,这消除了大量针对应用程序本身组件的显示XML配置。Spring3.0引入了基于Java的配置,这是一种类型安全的可重构配置方式,可以代理XML。所以这些配置都代表了开发时候的损耗。因为在思考Spring特性配置和解决业务问题之间需要进行思维的切换,所以编写配置挤占了编写应用程序逻辑的时间。和所有框架一样,Spring使用,但是与此同时他要求的回报也不少。

除此之外,项目的依赖管理也是一件非常耗时耗力的事情。在环境搭建时,需要分析要导入的包的坐标,而且需要分析导入与之有依赖关系的其他库的坐标,一旦发生了错误,将会导致一系列不兼容问题的的连锁反应,严重阻碍项目的进度。

Springboot的结局方案:

Springboot对上述Spring的缺点进行了改善与优化,主要是基于习惯由于配置的思想,可以将开发人员从配置问题中解脱出来,全身心的投入到逻辑代码中,从而大大的提升开发的效率,从而缩短项目周期。

Springboot解决上述问题主要使用了两大特性:

起步依赖:

起步依赖本质是依赖于Maven的项目对象模型,进行了依赖的传递依赖从而解决依赖组合问题。简单的说就是需要的提供一些模块的整合POM为一个新的模块,提供给开发者使用。

自动配置:

Springboot的自动配置主要是指启动时候回自动将一些配置类的bean注册到ioc容器中,我们需要的时候可以直接使用从容器中获取(@Autowired、@Resorce)。

自动的表现主要是我们只需要引入我们想要功能的包,而相关的配置需要管,Springboot回自动的按照习惯为我们配置好这些bean。

所以使用Springboot可以简单快捷方便的搭建项目,对主流框架进行无配置的集成,极大的提高了开发部署效率!

Springboot热部署配置:

热部署:

在开发过程中,往往会对一段业务代码不断的修改测试,在修改之后往往需要重启服务,有些服务需要加载很久才能成功的启动,这种不必要的重复操作极大的降低了程序开发效率。所以Springboot框架专门提供了进行热部署的依赖启动器,用于进行项目的热部署,而无需手动启动项目。

热部署的配置:

1.添加依赖

在项目的pom.xml中添加spring-boot-devtools热部署依赖启动器

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-devtools</artifactId>

</dependency>

由于使用的是IDEA开发工具,添加热部署依赖后可能不会有什么效果,因为还需要配置IDEA开发者工具支撑热部署功能。

2.IDEA热部署配置

选择IDEA工具页面【File】->【Settings】选项,并打开Compiler面板设置页面

Settings

在项目中任意页面使用组合快捷键"Ctrl+Shift+Alt+/"打开Maintenance选项框,并选中打开Registry页面,如下图:

Maintenance

列表中找到"compiler.automake.allow.when.app.running",将该选项勾选应用于指定IDEA在程序运行中自动编译,最后点击【Close】按钮完成设置

Registry

3.测试热部署

启动应用并访问:

为了测试热部署是否有效,接下来在不关闭当前服务的情况下,将Controller中的返回结果修改并保存,查看控制台信息会发现项目能够自动构建与编译,说明热部署生效!

再次浏览器访问:

表明项目热部署配置成功!

相关文章

网友评论

    本文标题:Springboot与idea中Springboot热部署配置

    本文链接:https://www.haomeiwen.com/subject/mkxwihtx.html