更新时间:2021-06-22 16:31:11 来源:极悦 浏览1344次
面试的时候经常会被问到,spring和springboot的区别。或者SpringMVC和Springboot的区别。其实这样的问法就不是特别合适。因为spring、springboot、springmvc他们三个在spring体系中就不在同一个维度。
spring家族有很多项目,springboot、spring framework、spring cloud等。
我们常用的也就是,springboot、springcloud、springsecurity、springdata。常说的springmvc只是spring framework的特性之一。
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 家族的一个项目,他的目标是提高使用者的开发效率。
以上就是极悦小编介绍的"Springboot与Spring的比较区别",希望对大家有帮助,更详细的Java基础教程可以登录极悦官网查看,学习中遇到问题,也可以请教在线咨询,有专业老师随时为您服务。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习