原有Spring优缺点
Spring的优点分析:
-
1、非侵入式设计
Spring是一种非侵入式(non-invasive)框架,它可以使应用程序代码对框架的依赖最小化。 -
2、方便解耦、简化开发
Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护工作都交给Spring容器的管理,大大的降低了组件之间的耦合性。 -
3、支持AOP
Spring提供了对AOP的支持,它允许将一些通用任务,如安全、事物、日志等进行集中式处理,从而提高了程序的复用性。 -
4、支持声明式事务处理
只需要通过配置就可以完成对事物的管理,而无须手动编程。 -
5、方便程序的测试
Spring提供了对Junit4的支持,可以通过注解方便的测试Spring程序。 -
6、方便集成各种优秀框架
Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如Struts、Hibernate、MyBatis、Quartz等)的直接支持。 -
7、降低Jave EE API的使用难度。
Spring对Java EE开发中非常难用的一些API(如JDBC、JavaMail等),都提供了封装,使这些API应用难度大大降低。
Spring的缺点分析:
- 配置过于繁琐
- 所有配置都代表了开发时的损耗
因为在思考Spring特性配置和解决业务问题之间需要切换思维,所以编写配置挤占了编写应用程序逻辑的时间。 - 项目的依赖管理也很繁琐
项目搭建时,需要分析要导入哪儿些库的坐标,还需要分析导入与之有依赖关系的其他库的坐标,一旦选错依赖的版本,随之而来的不兼容问题就会严重阻碍项目的开发进度
SpringBoot的概述
SpringBoot解决上述Spring的缺点:
- SpringBoot对上诉的Spring缺点进行改善和优化,基于约定优于配置的思想,可以让开发人员不必再配置与逻辑业务之间进行思维的切换,全身心投入到逻辑业务中,提高开发效率。
SpringBoot的特点:
- 为基于Spring的开发提供更快的入门体验。
- 开箱即用,没有代码生成,也无需XML配置。同时也可以修改默认值莱曼住特定的要求。
- 提供了一些大型项目中常见的非功能性特征,如嵌入式服务器、安全、指标、健康检测、外部配置等。
- SpringBoot不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式。
SpringBoot的核心功能
SpringBoot原理分析之起步依赖
spring-boot-starter-parent底层继承于spring-boot-dependencies
- spring-boot-starter-parent
- spring-boot-dependencies
版本约定与依赖:相当于maven的版本库
spring-boot-starter-web
底层引入了 spring-web 、spring-webmvc的坐标及版本控制
SpringBoot原理分析之自动配置
@SpringBootApplication
底层有很多注解:具体可以具备三个注解的功能
- 1、@SpringBootConfiguration相当于@Configuration注解
- 2、@ComponentScan:自动扫描注解
- 3、@EnableAutoConfiguration:是否可以自动配置的开关,其中默认配置了很多配置
例如:默认配置Tomcat端口号:8080
修改SpringBoot的默认配置,新建配置文件:application.properties
# 服务器的端口号
server.port=8081
#配置web应用的名称
server.servlet.context-path=/demo
此时就覆盖了默认配置的端口号和web应用的名称。