JavaScud | Forum | JIRA | Blog |
  Dashboard > StrutsImprovement > ... > rapid-framework > spring integration
  StrutsImprovement Log In View a printable version of the current page.  
  spring integration
Added by badqiu, last edited by badqiu on Jul 28, 2008  (view change)
Labels: 

根据包名自动搜索Hibernate @Entity annotation class

<bean id="sessionFactory" class="javacommon.spring.hibernate3.annotation.ScanAnnotationSessionFactoryBean">	
	<!-- annotatedScanPackages可以自动搜索某个package的全部标记@Entity class -->
	<property name="annotatedScanPackages">
		<list>
			<value>com.company.demo.model</value>
		</list>
	</property>
</bean>

使用 jdk1.5的annotation作为bean的定义,如BlogDao的定义,只需定义@Component标记

import org.springframework.stereotype.Component;
@Component
public class BlogDao extends BaseDao{
    //...
}

在spring配置文件中自动搜索标注@Component的spring bean

<context:component-scan base-package="com.kingsoft.system.dao"/>

struts1与spring集成,各层之间使用autowire by name自动组装对象,关于autowire具体请查看spring文档

struts1继承AutowireMappingDispatchAction,只要增加set方法,就可以自动注入相关对象

private BlogManager blogManager;
/** 
* 通过spring自动注入
**/
public void setBlogManager(BlogManager manager) {
	this.blogManager = manager;
}

spring事务配置

  • 在service层中统一控制事务
  • 使用spring配置文件为事务提供统一性配置
    <!-- 以AspectJ方式 定义 AOP -->
    	<aop:config proxy-target-class="true">
    		<aop:advisor pointcut="execution(* javacommon.base.BaseManager.*(..))" advice-ref="txAdvice"/>
    		<aop:advisor pointcut="execution(* com.kingsoft.system.service.*Manager.*(..))" advice-ref="txAdvice"/>
    	</aop:config>
    
    	<!-- 基本事务定义,使用transactionManager作事务管理,默认get*方法的事务为readonly,其余方法按默认设置.
    			 默认的设置请参考Spring文档事务一章. -->
    	<tx:advice id="txAdvice">
    		<tx:attributes>
    			<tx:method name="find*" read-only="true"/>
    			<tx:method name="get*" read-only="true"/>
    			<tx:method name="*" read-only="false"/>
    		</tx:attributes>
    	</tx:advice>

使用spring对测试的集成

Site running on a free Atlassian Confluence Open Source Project License granted to WebWork China. Evaluate Confluence today.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.5.3 Build:#808 May 29, 2007) - Bug/feature request - Contact Administrators