1. 运用Spring来替代工厂类:
使用applicationContext.xml配置文件来替代之前的工厂类
<bean id="userDao" class="com.syy.dao.imp.GenericDaoImphibernate">
<constructor-arg value="com.syy.model.pojo.User"></constructor-arg>
</bean>
2. 实现控制反转/依赖注入:
1. 声明的对象的同时,需要提供对象的Set方法
2. 实例化对象并不是由创建对象的类本身来负责
3. 而是由调用该对象的类来负责实例化该对象
代码:
Manager实现类
public class GeneircManagerImp<T, K extends Serializable>
implements GeneircManager<T, K> {
//声明GeneircDao的对象genericDao
protected GeneircDao<T, K> genericDao;
//为该对象提供set方法(以便对其进行注入信息)
public void setGenericDao(GeneircDao<T, K> genericDao) {
this.genericDao = genericDao;
}
}
applicationContext.xml 配置文件
/*
* userDao对象由com.syy.dao.imp.GenericDaoImphibernate类来负责实例化
* 为userDao的构造函数注入参数com.syy.model.pojo.User
* 对持有的sessionFactory注入信息
*/
<bean id="userDao" class="com.syy.dao.imp.GenericDaoImphibernate">
<constructor-arg value="com.syy.model.pojo.User"></constructor-arg>
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
/*
* userManager对象由com.syy.manager.imp.GeneircManagerImp类来负责实例化
* 对持有的genericDao注入信息
*/
<bean id="userManager" class="com.syy.manager.imp.GeneircManagerImp">
<property name="genericDao" ref="userDao"/>
</bean>
3. 与Hibernate想关联,封装Dao的基本方法
Dao的实现类通常继承HibernateDaoSupport类
调用getHibernateTemplate().……;方法来实现对pojo进行相应的操作
代码:
public class GenericDaoImphibernate<T,K extends Serializable >
extends HibernateDaoSupport implements GeneircDao<T,K>{
……
public T save(T object) {
//实现保存操作
T entity = (T) this.getHibernateTemplate().merge(object);
return entity;
}
……
}
4. 与Struts2相关联
将Struts2的objectFactory(Action类)交给Spring来实例化
Struts.xml
<!-- 指定Struts 2默认的ObjectFactory Bean,该属性默认值是spring -->
<constant name="struts.objectFactory" value="spring"/>
这个监听器是在tomcat装载项目的时候启动的
Web.xml
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
5 实现使用多个applicationContext.xml 配置文件
/*
* 在com/syy文件夹下以applicationContext开头的xml文件都将被加载进去
*/
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:com/syy/applicationContext*.xml
</param-value>
</context-param>
分享到:
相关推荐
org.springframework.remoting.caucho.Hessian1SkeletonInvoker.class org.springframework.remoting.caucho.Hessian2SkeletonInvoker.class org.springframework.remoting.caucho.HessianClientInterceptor.class ...
1. **基本类型转换与通用工具类**:`org.springframework.core.convert`包提供了类型转换服务,允许在不同数据类型之间进行安全转换。`org.springframework.util`则包含了一系列通用的工具类,如对象处理、集合操作...
罗时飞.精通spring.pdf 罗时飞.精通spring.pdf
《Spring核心模块详解:org.springframework.core_3.1.1.RELEASE.jar...理解并掌握这个模块,对于深入学习和使用Spring框架至关重要。通过不断的迭代和优化,Spring核心模块持续为Java开发者带来高效、可靠的开发体验。
1. **Spring MVC**:Spring Web模块中的关键组件是Spring MVC(Model-View-Controller),它是一种轻量级的Web MVC框架,提供了一种模式化的处理HTTP请求的方法。MVC模式将应用逻辑分为三个部分,模型用于处理业务...
1. **ApplicationContextLoader**:该组件负责在测试环境中加载Spring的应用上下文,使测试类能够访问到Bean定义和依赖注入。 2. **TestContext**:测试上下文提供了一种在测试类中访问和管理应用上下文的方法,...
org.springframework.orm-3.0.0.M1.jar
1. **ActionContext的管理**:Spring通过提供ActionContext清洁器,确保在每个请求处理完成后,能够正确清理ActionContext,避免了上下文数据的跨请求污染。 2. **依赖注入(DI)**:Spring框架的核心特性之一就是...
org.springframework.web.struts.ContextLoaderPlugIn$1.class org.springframework.web.struts.ContextLoaderPlugIn.class org.springframework.web.struts.DelegatingActionProxy.class org.springframework.web....
1. `commons-logging`: Spring使用的日志抽象层,可以适配多种日志实现。 2. `logback-classic`: 一个常见的日志实现库,可以被Spring使用。 3. `hibernate-core`: 如果涉及到ORM,可能会包含Hibernate的核心库。 4....
标题中的"spring.jar"、"spring-webmvc-struts.jar"和"spring-webmvc.jar"都是Spring框架相关的Java库文件,通常以.jar结尾的文件是Java的归档文件,包含了类、资源和元数据,用于Java应用程序的运行。这些文件在...
其中`${spring.version}`或`${springVersion}`应该被替换为实际使用的Spring版本号。 ##### 2. 添加Hibernate框架支持 同样需要确保项目中已经添加了Hibernate框架的核心库和支持库。对于Hibernate 3,可以通过...
org.springframework.beans-3.0.0.RC1.jar, org.springframework.beans-3.0.0.RC2.jar, org.springframework.beans-3.0.0.RC3.jar, org.springframework.beans-3.0.0.RELEASE.jar, org.springframework.beans-3.0.1....
1. 动态代理:Spring AOP利用ASM生成代理类,实现对目标对象的方法拦截。当一个类需要被代理时,Spring会使用ASM生成一个该类的子类,然后在这个子类中加入拦截逻辑,这样就实现了方法的动态代理。 2. CGLIB(Code ...
1.精通Spring 4.x 企业应用开发实战精通Spring 4.x 企业应用开发实战精通Spring 4.x 企业应用开发实战精通Spring 4.x 企业应用开发实战精通Spring 4.x 企业应用开发实战精通Spring 4.x 企业应用开发实战精通Spring 4...
15.使用JDBC实现数据访问 16. ORM和数据访问 17. 使用 O/X(Object/XML)映射器对XML进行编组 19. 视图技术 20. CORS支持 21. 与其他Web框架集成 22. WebSocket支持 24. 使用Spring提供远程和WEB服务 25. 整合EJB 26. ...
Spring源代码解析1:IOC容器.doc Spring源代码解析2:IoC容器在Web容器中的启动.doc Spring源代码解析3:Spring JDBC .doc Spring源代码解析4:Spring MVC .doc Spring源代码解析5:Spring AOP获取Proxy .doc Spring...
Spring2.x在性能方面做了很多优化,如使用缓存来减少重复的bean创建,优化了AOP代理等,提高了整体框架的运行效率。 10. **测试支持** Spring2.x提供了更强大的测试框架,包括Mock对象、TestContext框架等,使得...
Beginning.Spring-Spring入门经典.part1.rarBeginning.Spring-Spring入门经典.part1.rarBeginning.Spring-Spring入门经典.part1.rarBeginning.Spring-Spring入门经典.part1.rar