Spring入门(笔记)

Spring入门

一、什么是spring
Spring是一个开源的JavaEE框架。
它作为一个优秀的轻量级的企业应用开发框架,可以大大简化企业应用开发的复杂性;
能够创建出松耦合、易测试、易扩展、易维护的Java应用系统;

① 轻量级框架
发布仅单一的jar包(使用的jar包较少可以这么理解);额外的消耗可忽略不计
非入侵性(你使用了spring框架也可以结合其他的框架进行开发)

② 容器(我们也可以说spring就是一个容器)
管理对象的生命周期,控制对象的创建方式(也就是控制什么时候new 一个对象)

③ IOC/DI(inversion of control/Dependency injection)控制反转/ 依赖注入
配置及管理对象的依赖关系
④ Aop(Aspect-oriented programming)面向切面编程
oop及 ioc的补充

二、spring有哪些组成?
Spring入门(笔记)
1、spring的框架组成(核心容器)
核心容器:
核心容器提供Spring框架的基本功能,为Spring提供了基础服务支持,核心容器的主要组件就是BeanFactory

BeanFactory是所有基于Spring框架系统的核心,通过BeanFactory,Spring使用工厂模式来实现IoC,将应用程序的配置和依赖关系与实际的应用程序分离开来。

Spring之所以称为容器,就是由于BeanFactory的自动装备和注入。

2、spring框架组成(Application Context)
Application Context(上下文)
由一个配置文件,向 Spring 框架提供上下文信息。

BeanFactory使spring成为容器,上下文模块使Spring成为框架。

这个模块对BeanFactory进行了扩展,添加了对I18N,系统生命周期事件以及验证的支持。 这个模块提供了许多企业级服务,例如:邮件服务,JNDI访问,EJB集成,远程调用以及定时服务,并且支持与模板框架的集成。

3、spring框架组成(AOP)
Spring AOP:
AOP面向切面编程。该模块将AOP 编程功能集成到了 Spring 框架中。这样,凡是 Spring 框架管理的任何对象都可以很容易地支持 AOP。该模块为应用程序中基于 Spring 管理的对象提供了事务管理服务。

这个模块由于使用了 AOP Alliance的API,所以,可以和其他AOP框架互通,

AOP Alliance是一个开源项目,目的是促进AOP的使用,并且通过定义一套通用的接口和组件来确保不同的AOP之间达到互通性。

4、spring框架组成(DAO)
Spring DAO:
这个模块封装了数据库连接的创建、语句对象生成、结果集处理、连接关闭等操作,而且重构了所有数据库系统的异常信息,用户不再需要处理数据库异常了。

在这个模块中,利用了Spring的AOP模块完成了为系统中对象提供事务管理的服务。

5、spring框架组成(ORM)
Spring ORM:
Spring 没有实现自己的ORM方案,而是为当前主流的ORM框架预留了整合接口,包括hibernate、JDO等。 所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。
Spring的事物管理支持所有这些ORM框架以及JDBC。

6、spring框架组成(WEB)
Spring Web 模块:
Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。
Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
MVC框架是一个全功能的构建 Web 应用程序的 MVC 实现。
通过策略接口,MVC 框架变成为高度可配置的。MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI等

三、spring的优点
开源框架,开放性较高
有效地组织中间层对象
多种可选的事务处理方式
多种可选的持久层策略
多种可选的Web MVC框架策略

高度可扩展的安全解决方案
有效的消除单例、工厂等模式的使用
将面向接口编程做到实处

使单元测试变得简单
使EJB的使用成为一个选择
提供了一致的数据访问框架
只选择你需要的

其实理论了解就好,等你实际过了就觉得这些都还好理解,建议过一遍,等学到它们其中的某一个了再回来看理论,我们一起学习吧。

下一篇spring框架环境的搭建。