Springboot和Spring的区别?看完你就明白了

从一道面试题说起

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

看一下spring的全部项目

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

Springboot和Spring的区别?看完你就明白了

我们常用的也就是,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和Spring的区别?看完你就明白了

实现的源码: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的区别?看完你就明白了

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

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值