同步操作将从 Java精选/Ebooks 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
Spring boot actuator是spring启动框架中的重要功能之一。
Spring boot监视器可帮助您访问生产环境中正在运行的应用程序的当前状态。有几个指标必须在生产环境中进行检查和监控。即使一些外部应用程序可能正在使用这些服务来向相关人员触发警报消息。监视器模块公开了一组可直接作为HTTP URL访问的REST端点来检查状态。
1)spring-boot-devtools
通过Springboot提供的开发者工具spring-boot-devtools来实现,在pom.xml引用其依赖。
然后在Settings→Build→Compiler中将Build project automatically勾选上,最后按ctrl+shift+alt+/ 选择registy,将compiler.automake.allow.when.app.running勾选。
2)Spring Loaded
Spring官方提供的热部署程序,实现修改类文件的热部署
下载Spring Loaded(项目地址https://github.com/spring-projects/spring-loaded)
添加运行时参数:-javaagent:C:/springloaded-1.2.5.RELEASE.jar –noverify
3)JRebel
收费的一个热部署软件,安装插件使用即可。
Spring提供了一种使用ControllerAdvice处理异常的非常有用的方法。通过实现一个ControlerAdvice类,来处理控制器类抛出的所有异常。
Spring Boot在配置上相比Spring要简单许多,其核心在于Spring Boot Stater。
Spring Boot内嵌容器支持Tomcat、Jetty、Undertow等应用服务的starter启动器,在应用启动时被加载,可以快速的处理应用所需要的一些基础环境配置。
starter解决的是依赖管理配置复杂的问题,可以理解成通过pom.xml文件配置很多jar包组合的maven项目,用来简化maven依赖配置,starter可以被继承也可以依赖于别的starter。
比如spring-boot-starter-web包含以下依赖:
org.springframework.boot:spring-boot-starter
org.springframework.boot:spring-boot-starter-tomcat
org.springframework.boot:spring-boot-starter-validation
com.fasterxml.jackson.core:jackson-databind
org.springframework:spring-web
org.springframework:spring-webmvc
starter负责配与Sping整合相关的配置依赖等,使用者无需关心框架整合带来的问题。
比如使用Sping和JPA访问数据库,只需要项目包含spring-boot-starter-data-jpa依赖就可以完美执行。
Spring Boot优点
1)创建独立的Spring应用程序
Spring Boot以jar包的形式独立运行,使用java -jar xx.jar命令运行项目或在项目的主程序中运行main方法。
2)Spring Boot内嵌入Tomcat,Jetty或者Undertow,无序部署WAR包文件
Spring项目部署时需要在服务器上部署tomcat,然后把项目打成war包放到tomcat中webapps目录。
Spring Boot项目不需要单独下载Tomcat等传统服务器,内嵌容器,使得可以执行运行项目的主程序main函数,让项目快速运行,另外,也降低对运行环境的基本要求,环境变量中有JDK即可。
3)Spring Boot允许通过maven工具根据需要获取starter
Spring Boot提供了一系列的starter pom用来简化我们的Maven依赖,通过这些starter项目就能以Java Application的形式运行Spring Boot项目,而无需其他服务器配置。
starter pom:
https://docs.spring.io/spring-boot/docs/1.4.1.RELEASE/reference/htmlsingle/#using-boot-starter
4)Spring Boot尽可能自动配置Spring框架
Spring Boot提供Spring框架的最大自动化配置,使用大量自动配置,使得开发者对Spring的配置减少。
Spring Boot更多的是采用Java Config的方式,对Spring进行配置。
5)提供生产就绪型功能,如指标、健康检查和外部配置
Spring Boot提供了基于http、ssh、telnet对运行时的项目进行监控;可以引入spring-boot-start-actuator依赖,直接使用REST方式来获取进程的运行期性能参数,从而达到监控的目的,比较方便。
但是Spring Boot只是微框架,没有提供相应的服务发现与注册的配套功能、监控集成方案以及安全管理方案,因此在微服务架构中,还需要Spring Cloud来配合一起使用,可关注微信公众号“Java精选”,后续篇幅会针对Spring Cloud面试题补充说明。
5)绝对没有代码生成,对XML没有要求配置
Spring Boot缺点
1)依赖包太多,一个spring Boot项目就需要很多Maven引入所需的jar包
2)缺少服务的注册和发现等解决方案
3)缺少监控集成、安全管理方案
SpringBoot中的松绑定适用于配置属性的类型安全绑定。使用松绑定,环境属性的键不需要与属性名完全匹配。这样就可以用驼峰式、短横线式、蛇形式或者下划线分割来命名。
例如,在一个有@ConfigurationProperties声明的bean类中带有一个名为myProp的属性,它可以绑定到以下任何一个参数中,myProp、my-prop、my_prop或者MY_PROP。
Spring JavaConfig是Spring社区的产品,它提供了配置Spring IoC容器的纯Java方法。因此它有助于避免使用XML配置。
使用JavaConfig的优点在于: 1)面向对象的配置。由于配置被定义为JavaConfig中的类,因此用户可以充分利用Java 中的面向对象功能。一个配置类可以继承另一个,重写它的@Bean方法等。
2)减少或消除 XML配置。基于依赖注入原则的外化配置的好处已被证明。但是,许多开发人员不希望在XML和Java之间来回切换。JavaConfig为开发人员提供了一种纯Java方法来配置与 XML 配置概念相似的Spring容器。从技术角度来讲,只使用JavaConfig配置类来配置容器是可行的,但实际上很多人认为将JavaConfig与XML混合匹配是理想的。
3)类型安全和重构友好。JavaConfig提供了一种类型安全的方法来配置Spring容器。由于Java 5.0对泛型的支持,现在可以按类型而不是按名称检索bean,不需要任何强制转换或基于字符串的查找。
使用Spring Boot实现分页非常简单。使用Spring Data JPA可以实现将可分页的传递给存储库方法。
定时任务也是一个常见的需求,Spring Boot 中对于定时任务的支持主要还是来自Spring 框架。
Spring Boot中使用定时任务主要有两种不同的方式,一个就是使用Spring中的@Scheduled注解,另一个则是使用第三方框架Quartz。
使用Spring中的@Scheduled的方式主要通过@Scheduled注解来实现。
使用Quartz,则按照Quartz的方式,定义Job和Trigger即可。
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。
Spring Boot框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
2014年4月发布第一个版本的全新开源的Spring Boot轻量级框架。它基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。
另外Spring Boot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。