读书人

【第十二章】零配置 之 12.5 综合示例

发布时间: 2012-07-23 09:42:19 作者: rapoo

【第十二章】零配置 之 12.5 综合示例-积分商城 ——跟我学spring3

12.5? 综合示例12.5.1? 概述

在第十一章中我们介绍了SSH集成,在进行SSH集成时都是通过基于XML配置文件配置每层的Bean,从而产生许多XML配置文件,本节将通过注解方式消除部分XML配置文件,实现所谓的零配置。

?12.5.2? 项目拷贝

?????? 1、拷贝【第十一章? SSH集成开发】中的“pointShop”项目将其命名为“pointShop2”;

?????? 2、修改“pointShop2”项目下的“.settings”文件夹下的“org.eclipse.wst.common.component”文件,将“<property name="context-root" value="pointShop"/>”修改为“<property name="context-root" value="pointShop2"/>”,即该web项目的上下文为“pointShop2”,在浏览器中可以通过http://localhost:8080/pointShop2来访问该web项目。

?12.5.3? 数据访问层变化

?????? 将dao层配置文件中的dao实现Bean定义删除,通过在dao实现类头上添加“@Repository”来定义dao实现Bean,并通过注解@Autowired来完成依赖注入。

?

1、删除DAO层配置文件(cn/javass/point/dao/applicationContext-hibernate.xml)中的如下配置:

?

java代码:
<bean id="abstractDao" abstract="true" init-method="init"><property name="sessionFactory" ref="sessionFactory"/></bean>   <bean id="goodsDao"        parent="abstractDao"/>

?

?

2、修改通用DAO实现cn.javass.commons.dao.hibernate.BaseHibernateDao,通过注解实现依赖注入和指定初始化方法:

?

java代码:
public abstract class BaseHibernateDao<M extends Serializable, PK extends Serializable> extends HibernateDaoSupport implements IBaseDao<M, PK>, InitializingBean {    //省略类字段    @Autowired @Required    public void setSf(SessionFactory sf) {        setSessionFactory(sf);    }    @PostConstruct    @SuppressWarnings("unchecked")    public void init() {        //省略具体实现代码    }}
读书人网 >软件架构设计

热点推荐