在现如今的java软件开发行业,几乎是无人不晓springboot框架了吧,之所以会有这么多人了解过并且使用它,无非是因为其身上无法缺失的优点了,所以你是否了解springboot框架的优点是什么呢,尤其是跟spring作比较的时候?
使用SpringBoot的最大好处其实就是简化配置了,因为它实现了自动化配置。
这里就以SpringBoot 2.1.4.RELEASE版本和Spring 5.1.6.RELEASE版本为例来看看吧。
自动化配置的原理如下所示:
使用springboot来构建的项目都会有一个入口启动类,其中有个最重要的注解就是@SpringBootApplication了,其源码如下所示:
@Target( { ElementType.TYPE }) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan( excludeFilters = { @Filter( type = FilterType.CUSTOM , classes = { TypeExcludeFilter.class } ) , @Filter( type = FilterType.CUSTOM , classes = { AutoConfigurationExcludeFilter.class } ) } ) public @interface SpringBootApplication { @AliasFor( annotation = EnableAutoConfiguration.class ) Class[] exclude() default {}; @AliasFor( annotation = EnableAutoConfiguration.class ) String[] excludeName() default {}; @AliasFor( annotation = ComponentScan.class , attribute = "basePackages" ) String[] scanBasePackages() default {}; @AliasFor( annotation = ComponentScan.class , attribute = "basePackageClasses" ) Class[] scanBasePackageClasses() default {}; }
spring在Java EE开发里面其实是实际意义上面的标准了,可能我们在开发spring的过程当中会遇到以下一些令人头疼的问题:
例如说存在大量配置文件的定义问题;
在与第三方软件整合时的技术问题,spring在每个新版本的推出都是以减少配置作为自己的主要目标的,例如:
(a)推出了@Component, @Service, @Repository, @Controller等一些注解在类上声明了Bean;
(b)推出了@Configuration, @Bean的Java配置来替换Xml配置.
但是在脚本语言和敏捷开发比较普遍的时代,Java EE的开发就难免凸显得尤为笨重了,不禁让人怀疑Java EE的开发就应该如此。可是这显然不对的。spring在提升Java EE开发效率的脚步上,我们知道是从未停止过的,这样说来springboot的推出是具有颠覆和划时代意义的,这也是可以理解的,因为springboot还具有以下优点:
a.遵循了"约定优于配置"的原则,使用springboot的时候只需少量的配置即可,因为在大部分时候我们是可以使用默认配置的;
b.项目的搭建速度非常快,另外还可以不用配置去整合第三方框架;
c.可完全不使用xml配置,只使用自动配置和Java Config;
d.内嵌入Servlet如Tomcat容器,应用可用jar包运行(java -jar);
e.运行中应用状态的监控。
那么以上就是有关springboot框架优点的所有内容了,还想了解更多java架构师相关内容记得关注本站消息获取呢。
推荐阅读: