springboot框架的优点是什么? springboot比spring的优势如何?

XIAO 2020-06-03 14:23:01 java常见问答 4505

在现如今的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架构师相关内容记得关注本站消息获取呢。

推荐阅读:

springboot框架工作原理是怎样的?原理详解

SpringBoot注解都有哪些?都有什么作用?

SpringBoot底层实现原理是什么?它的概念又是什么?