前言
Spring框架是java web应用非常广泛的框架,有关spring的理解,除了参考右侧链接:Spring基础知识汇总(菜鸟教程),更在下面加上笔者自己的理解和认识,由于笔者技术水平有限,错误之处在所难免,论述仅供参考,欢迎各位技术大佬提出宝贵的意见和建议。Spring框架的官方网址为:Spring官网。Spring下载,笔者推荐使用maven进行管理。
spring 是什么?
1、Spring 是一个开源框架,说白了,免费且可以看到源代码;
2、Spring 的存在是为了简化企业级开发而存在的,使用spring 可以使用简单的Java Bean实现以前只有EJB才能实现的功能;
3、Spring 一个IOC(DI)和AOP的容器框架。
具体描述
轻量级:并不是在关注jar包的大小,也不是在强调Spring jar包比较小,spring 是非侵入式的,基于spring开发的应用中的对象可以不依赖于spring的API。也就是说,我们在使用Spring框架的时候,我们不需要实现Spring给我们提供的任何接口,不需要继承任何父类,就能享用spring给我提供的功能,有种润物细无声的感觉。
依赖注入(控制反转):
面向切面编程:
容器:Spring是一个容器,因为它包含并且管理应用对象的生命周期。
一站式框架:在DI (IOC)和AOP的基础上,我们可以整合许多优秀的第三方开源框架,比如可以整合strust和hibernate或者MyBatis。使用spring 基本上就可以把Java EE所有技术点都包含进来。
Spring 模块
了解Spring的程序员都知道,Spring模块中最底层的是Spring核心容器(core container),其中包含了Beans、Core、Context、SpEL。在这个核心容器基础之上,还有AOP、Aspect、Instrumentation、Messaging;AOP和ASpect是面向切面编程,在这个基础之上,我们可以实现声明式事务,声明式事务之上,还有JDBC、ORM(整合MyBatis或者hibernate)、OXM、JMS。Instrumentation、Messaging基础之上,有WebSocket、Servlet、Web、portlet(可以整合Spring MVC、Struts1、struts2);