Struts-Spring-Hibernate 总结

2019-09-01 20:24

第一章 小结 ..................................................................................................................................... 1 第二章 Spring .................................................................................................................................. 3 第三章 Hibernate ............................................................................................................................. 6 第四章 Struts 2.0 ............................................................................................................................. 7 第五章 Spring 与 Hibernate 整合 .............................................................................................. 11 第六章 Spring 与 Struts 整合 ..................................................................................................... 14 第七章 示例 ................................................................................................................................... 16 第八章 其他 ................................................................................................................................... 28

问题1:Action和业务逻辑层之间如何传递参数 问题2:通用DAO层的实现

第一章 小结

Spring Bean容器,例化和管理全部 bean 的工厂,对被管理对象,用getBean(),

而不用 new BeanName方式,

(1)能用单态模式和工厂模式创建Bean

(2)依赖注入属性:由Spring 自动new被调用者,而不需要程序new,

Spring真正的精华是它的Ioc模式实现的BeanFactory和AOP,它自己在这个基础上延伸的功能有些画蛇添足。

Ioc模式是什么知道的人不多,但是,当他知道生成对象不用再使用new了,只要在配置文件里配置一下,他感到新鲜,其实这就是Ioc模式的实现,PicoContainer是另外一种真正轻量的Ioc模式实现,PicoContainer还是采取代码将对象注射一个小容器中,而Spring采取配置文件。

配置式编码其实有利有弊,编码本来可通过开发工具或编译器检查错误,但是过分依赖配置时,就会经常出现因为粗心导致的小错误,如果调试程序出错经常是因为配置文件中小写字母写成大写字母,不知道你是怎么心情?

Hibernate: ORM工具,把数据表转换成Bean(POLO);对象关系映射(Object Relational Mapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。

Struts Action是核心,表单元素和Action属性自动对应,校验、处理、转发

Spring与Hibernate 整合:

1.其他用到dataSource, sessionFactory, TransactionManager 的Bean等可以依赖注入

2. HibernateTemplate

Spring与Struts整合

1. 业务逻辑类由Spring 管理 2. Action 整合方法

(1) Action不整合,由Struts创建

设置一个 BaseAction extends ActionSupport,设置一个方法 getBean生成业务逻辑类

return getWebApplicationContext().getBean(beanName);

其他 Action 从这个 BaseAction 上继承,能方便调用业务逻辑 (2)Action整合 a. 配置 Spring 的相应 xml b. 配置 Struts 的 xml 时,class要和 a 对应

第二章 Spring

一、作用

1、对管理的 Bean 实现单态模式和工厂模式 2、依赖注入(控制反转 Ioc)

当某个Java 实例(调用者)需要另一个Java 实例(被调用者)时,在传统的程序设计过程中, 通常由调用者来创建被调用者的实例。而在依赖注入的模式下,创建被调用者的工作不再由调用者来完成常由 Spring 容器来完成,然后注入调用者,因此称为控制反转(Ioc),也称为依赖注入。

依赖注入通常有两种: ·设值注入(常用):通过setter方法

二、重要属性:

1.ApplictionContext类

*FileSystemXmlApplicationContext: 以指定路径的 XML 配置文件创建ApplicationContext。 *ClassPathXmlApplicationContext: CLASSPATH 路径下XML 配置创建ApplicationContext

AppliationContext 默认预初始化所有的 singleton bean。除非指定bean的abstract=\

使用举例:

ApplicationContext ctx =new FileSystemXmlApplicationContext(\Person pl = null;

pl = (Person)ctx.getBean(\

2.配置文件

applicationContext.xml

3.定义Bean

(1)基础参数:id,class

(2)行为:singleton 属性只接受 true 或 false (3)Bean的依赖

* value:主要用于传入字符串参数和基本数据类型参数 * ref:属性值为容器中其他 bean, * bean:不在同一个XML 配置文件中的 bean

* local:同一个XML配置文件中的 bean,且local 属性值只能是其他bean 的 id * bean:依赖bean不想被 Spring 容器直接访问

<' 属性为嵌套bean,嵌套bean不能由Spring容器直接访问。因此,嵌套bean 没有 id 属性。-一〉

* list,set,map,以及 props (4)Bean 实现的注意事项

·每个 bean 实现类都应提供无参数的构造器。 ·接受构造注入bean,应提供对应的构造函数。

·接受设值注入bean,应提供对应setter方法,并不强制要求提供对应getter方法。 (5)定制 bean 的生命周期行为

·依赖关系注入之后的行为:使用 init-method 属性,例:init-method=”init”

·bean 销毁之前的行为:使用 destroy-method 属性,例:destroy-method=”close”

4.bean 的继承

如果两个 bean 之间的配置信息非常相似,可利用继承来减少重复配置工作。继承是指子 bean 定义可从父 bean 定义继承部分配置信息,也可覆盖特定的配置信息。

(1) 基类bean,如果是不需要实例化的抽象模板,使用abstract属性(abstract=\) (2) 子类bean通过设置 parent 属性来定义子bean,parent 属性值为父bean id

5 Web 应用中自动加载 ApplicationContext (1)使用 ContextLoader Listener

使用 ContextLoader Listener 注册 ApplicationContext 的配置文件如下,注意:下配置文件不是在 Spring 的配置文件中增加,而是在 web.xm1文件中增加。

contextConfigLocation

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: