zoukankan      html  css  js  c++  java
  • springboot与spring比较区别

    一、从一道面试题说起

    面试的时候经常会被问到,spring和springboot的区别。或者SpringMVC和Springboot的区别。其实这样的问法就不是特别合适。因为spring、springboot、springmvc他们三个在spring体系中就不在同一个维度。

    一、看一下spring的全部项目

    spring 家族 有很多项目,springboot、spring framework、spring cloud等。

     我们常用的也就是,springboot、springcloud、springsecurity、springdata。常说的 springmvc 只是spring framework 的特性之一。

    二、springboot核心能力:

    1、内嵌 Servlet 容器,可以直接打成jar包,通过 java -jar xx.jar 运行项目。

    2、提供 starter pom 系列,简化maven的依赖加载,减少依赖冲突的发生。

    3、支持自动化配置,如下图。application.properties 文件在引入springboot和未引入springboot时,是不一样的。

     

    实现的源码:springboot回去判断引入的jar包是否有 spring.factories 文件

    @EnableAutoConfiguration
    @Import({AutoConfigurationImportSelector.class})
    protected List<String> getCandidateConfigurations(AnnotationMetadata metadata, AnnotationAttributes attributes) {
      List<String> configurations = SpringFactoriesLoader.loadFactoryNames(this.getSpringFactoriesLoaderFactoryClass(), this.getBeanClassLoader());
      Assert.notEmpty(configurations, "No auto configuration classes found in META-INF/spring.factories. If you are using a custom packaging, make sure that file is correct.");
      return configurations;
    }

     总结:springboot 是 spring 家族的一个项目,他的目标是提高使用者的开发效率。

  • 相关阅读:
    noip2015Day2T2-子串
    js事件冒泡
    【Java】Appache Flume 中文介绍
    iOS开发之系统通讯录
    POJ 1946 Cow Cycling
    libgdx 启动者(个人翻译,还请不吝赐教)类和配置
    Python+Django+SAE系列教程6-----本地配置Django
    利用命令行删除Android系统自带应用的方法
    leetcode 题型 数据结构 解法 分类总结
    正則表達式之基础篇
  • 原文地址:https://www.cnblogs.com/cuiqq/p/11818932.html
Copyright © 2011-2022 走看看