1.如何使用Spring的呢

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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值