本节主要对Spring进行一下介绍,力求用通俗易懂的话给大家描述清楚:
目的:Spring 为了解决企业应用开发的复杂性
定义:Spring是一个轻量级的控制反转(IOC)和面向切片(AOP)的容器框架(重要)
创始人:Rod Johnson (音乐博士),惊不惊喜,意不意外?
理念:使现有的技术更加容易使用,本身是一个大杂烩,整合了现有的技术框架
SSM包括:SpringMVC、Spring、MyBatis
优点:
- Spring是一个开源的免费的框架
- Spring是一个轻量级、非入侵式的框架(轻量级:体量小,spring给用户提供的服务完全有用户自己决定,spring想用什么服务自己开启使用,一句话:spring所提供的服务都是允许定制的。非入侵式:引入spring不会对原来项目产生影响)
- 控制反转(IOC)、面向切片(AOP)
- 动态解耦,方便开发:大家之前做网站,service层是不是要new 一个 dao 层的对象,这样做就会使两者耦合性增大,由于spring提供了IOC容器,把dao层对象丢到IOC容器中,service层去容器里面去取,这样就使两者的耦合性降低,方便开发。
- 支持声明式事务处理
- 对框架整合的支持:spring不排斥各种优秀的框架,而且降低了框架的使用难度,提供了对各种优秀框架的直接支持,这也为什么说spring是个大杂烩。
- 降低JavaEE API的使用难度:比如我们常用的jdbc,虽然说不难,但是很烦,而spring对这些非常烦人的API 提供了简单的封装,降低了使用的难度,写代码更加舒心。
- 方便测试:可以用非容器依赖的编程方式进行几乎所有的测试工作,在Spring里,测试不再是昂贵的操作,而是随手可做的事情。
总结一句话:Spring是一个轻量级的控制反转(IOC)和面向切片(AOP)的容器框架
其中,IOC和AOP更是面试中必问题目,在后续的文章我会重点介绍,当然,我的文章里面全是重要内容,希望大家能够多多支持。