spring JpetStore学习笔记(三)

来源:互联网 发布:新手如何做淘宝客服 编辑:程序博客网 时间:2024/05/16 18:31
 接下来,看看applicationContext.xml文件
<bean id="propertyConfigurer"
                class
="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        
<property name="locations">
            
<list>
                
<value>WEB-INF/mail.properties</value>
                
<value>WEB-INF/jdbc.properties</value>
            
</list>
        
</property>
    
</bean>
利用PropertyPlaceholderConfigurer类关联资源文件,用$(...)的方式索引各个属性,例如,$(jdbc.url)可以取得资源文件中jdbc.url所设定的值.

<bean id="petStore" class="org.springframework.samples.jpetstore.domain.logic.PetStoreImpl">
        
<property name="accountDao" ref="accountDao"/>
        
<property name="categoryDao" ref="categoryDao"/>
        
<property name="productDao" ref="productDao"/>
        
<property name="itemDao" ref="itemDao"/>
        
<property name="orderDao" ref="orderDao"/>
    
</bean>
声明bean petStore,感觉这里是将上述的五个DAO的bean注入PetStore方法接口的实现类PetStoreImpl中,用于持久层操作.

<aop:config>
        
<aop:advisor pointcut="execution(* *..PetStoreFacade.*(..))" advice-ref="txAdvice"/>
</aop:config>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
        
<tx:attributes>
            
<tx:method name="insert*"/>
            
<tx:method name="update*"/>
            
<tx:method name="*" read-only="true"/>
        
</tx:attributes>
</tx:advice>
声明式事务配置,详细介绍可参照另一篇笔记 spring框架的事务管理


接下来是dataAccessContext-local.xml文件

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        
<property name="driverClassName" value="${jdbc.driverClassName}"/>
        
<property name="url" value="${jdbc.url}"/>
        
<property name="username" value="${jdbc.username}"/>
        
<property name="password" value="${jdbc.password}"/>
    
</bean>
声明数据源bean

<bean id="transactionManager"
                 class
="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        
<property name="dataSource" ref="dataSource"/>
    
</bean>
声明事务的资源管理类

<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
        
<property name="configLocation" value="WEB-INF/sql-map-config.xml"/>
        
<property name="dataSource" ref="dataSource"/>
    
</bean>
此处声明ibatis的配置map 文件的位置

<bean id="accountDao" class="org.springframework.samples.jpetstore.dao.ibatis.SqlMapAccountDao">
        
<property name="sqlMapClient" ref="sqlMapClient"/>
</bean>
定义DAO的bean,为接口实现类配置注入sqlMapClient的bean这里只贴一个,其他类似。