1、Spring概述——各模块的功能
① 核心容器。提供Spring框架的基本功能,其主要组件是BeanFactory,是工厂模式的实现。
② Spring 上下文。向Spring 框架提供上下文信息,包括企业服务,如 JNDI、EJB、电子邮件、国际化、校验和调度等。
③ Spring AOP。通过配置管理特性,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块直接将面向方面编程的功能集成到Spring框架中。它为基于Spring 应用程序的对象提供了事务管理服务。
④ Spring DAO。JDBC DAO 抽象层提供了有用的异常层次结构,用来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(如打开和关闭连接)。
⑤ Spring ORM。Spring 框架插入了若干ORM框架,提供ORM的对象关系工具,其中包括JDO、Hibernate和iBatis SQL Map,并且都遵从Spring 的通用事务和 DAO 异常层次结构。
⑥ Spring Web 模块。为基于 Web 的应用程序提供上下文。它建立在应用程序上下文模块之上,简化了处理多份请求及将请求参数绑定到域对象的工作。Spring 框架支持与 Jakarta Struts 的集成。
⑦ Spring MVC 框架,是一个全功能构建Web应用程序的 MVC 实现。通过策略接口实现高度可配置,MVC 容纳了大量视图技术,其中包括JSP、Velocity、Tiles、iText和POI。
2、在 Spring 最重要也是最重要的是依赖注入(既是控制反转)的思想
(1)依赖注入:在Spring里,创建被调用者的工作不再由调用者来完成,因此称为控制反转;创建被调用者实例的工作通常由Spring容器来完成,然后注入调用者,因此也称为依赖注入。
(2)依赖注入应用的步骤如下:
① 添加Spring开发能力(类库+配置文件)
②新建接口和类
③在Spring配置文件中配置bean并在调用类中注入被调用类
④创建Spring上下文
⑤调用Spring管理的bean (applicationContext.xml中添加bean的定义、依赖注入)
流程如下
为项目添加Spring开发能力————>修改applicationContext.xml————>修改测试类————> 运行
3、Spring与Struts 2整合
把Struts2的Action类交由Spring管理、Action类中对于模型的调用,通过Spring注入
过程如下:
① 创建Web项目Struts_Spring。
② 添加Struts 2框架。添加5个Jar包,配置web.xml,新建struts.xml配置文件
③ 创建login.jsp。
④ 创建Action
⑤ 创建login_success.jsp。
⑥添加Spring框架。(添加jar包,增加XML配置文件)
⑦添加Spring支持包struts2-spring-plugin.jar。
⑧修改web.xml内容。
⑨创建消息包文件struts.properties。(在src文件夹下创建struts.properties文件,使得Struts 2的类的生成交给Spring完成。)
⑩修改applicationContext.xml。
最重要的一步:修改struts.xml,使得struts 2的类的生成交给Spring完成。
流程如下:
添加Struts2开发能力(jar包、web.xml、strut.xml)————>添加Spring开发能力(jar包、applicationContext.xml)————>添加Spring支持包struts2-spring-plugin.jar————>修改web.xml,增加spring支持————>创建消息包文件struts.properties————>修改applicationContext.xml————>修改struts.xml
4、Spring与Hibernate整合
Hibernate的sessionFactory交由Spring管理、Hibernate配置信息放在Spring配置文件中
过程如下:
① 在MySQL中创建数据库表。
② 创建Web项目,命名为“Hibernate_Spring”。
③ 添加Spring的开发能力。
④ 加载Hibernate框架。
⑤ 生成与数据库表对应的Java数据对象和映射。
⑥ 编写DlDao.java接口。(在src文件夹下建立包org.dao,在该包先建立接口,命名为“DlDao”)
⑦ 编写DlDao.java实现类。(在src文件夹下建立包org.dao.imp,在该包下建立类“DlDaoImp”)
⑧ 修改Spring配置文件applicationContext.xml。
⑨ 编写测试类。(在src文件夹下建立包test,在该包下建立类Test)