Spring2.5 ibatis 配置问题

2019-03-25 13:40|来源: 网路

一个很菜的问题,困扰我很久了.在SpringSide3中配置ibatis,始终不成功,提示
Property 'sqlMapClient' is required


applicationContext.xml代码如下:
<!-- 使用annotation 自动注册bean,并保证@Required,@Autowired的属性被注入 
		(多个包可以以逗号分隔)-->
	<context:component-scan base-package="jp.co.grids.mda" />

	<!-- 数据源配置,在开发测试环境直连数据库 -->
	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
		<property name="url" value="jdbc:oracle:thin:@192.168.2.120:1521:MDA" />
		<property name="username" value="MDA1" />
		<property name="password" value="MDA" />
	</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="classpath:/dao/sql-map-config.xml"/>
    	<property name="dataSource" ref="dataSource"/>
  	</bean>
  	
  	<!-- 使用annotation定义事务 -->
	<tx:annotation-driven transaction-manager="transactionManager" />
	
	
	<!-- 默认的SqlMapClientTemplate -->  
	<bean id="sqlMapClientTemplate" class="org.springframework.orm.ibatis.SqlMapClientTemplate">  
    	<property name="sqlMapClient" ref="sqlMapClient" />  
	</bean>  
	
	<bean id="entityDao" class="jp.co.grids.mda.base.EntityDao">
	 <property name="dataSource">
   		<ref local="dataSource"/>
  		</property>
        <property name="sqlMapClient" ref="sqlMapClient" />
    </bean>

<bean id="userDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">     
     <property name="transactionManager">     
         <ref bean="transactionManager" />     
     </property>     
     <property name="target">     
          <ref bean="entityDao" />     
    </property>
    </bean>


其中的EntityDao继承自GenericDao,GenericDao才继承自SqlMapClientDaoSupport.会不会是这个的问题?

相关问答

更多
  • IbatisAdmPacVoucherDAO继承了BaseDAO类,对于继承来的属性,这里用parent="sqlMapClientDAO" 来获得。 我们找到sqlMapClientDAO的声明如下:
  • 我想你看的参考手册说的那种配置绝对不是Spring的获取方式,Spring自身有一个ibatis模板类SqlMapClientTemplate,你继承这个类就可以获取你想要的东西,这是一种叫做模板方法的设计模式,Spring使用这种设计模式来管理Dao的通用增删改查方法,很方便。 还有,最好把你的出错信息,以及配置发上来,这样才能更准确的对问题进行定位。
  • 看来你的基础还不错嘛. 问题对于实习生来说算比较有思路了. spring mvc基于servlet分发请求, servlet是单例还是多例呢? spring mvc jsp转发可见我回答的另一问题: http://zhidao.baidu.com/question/871952514627714972.html?from=pubpage&msgtype=2
    在 Spring官网下jar包,里面自带了个jpetstore 项目,是用iBATIS + Spring + Struts技术实现的。
  • 首先保证三个框架的核心包要有,然后就是struts2整合spring的包,至于ibatis的整合应该看spring整合它的方式,把三者环境加载后看看异常有没有提示没找到什么类,再找相应的包即可
  • 从诞生之初,Spring框架就坚守它的宗旨:简化企业级应用开发,同时给复杂问题提供强大的、非侵入性解决方案。一年前发布的Spring2.0就把这些主题推到了一个新的高度。XMLnbsp;Schema的支持和自定义命名空间的使用大大减少了基于XML的配置。使用Java5及更新版本java的开发人员如今可以利用植入了像泛型(generic)和注解等新语言特性的Spring库。最近,和AspectJ表达式语言的紧密集成,使得以非侵入方式添加跨越定义良好的Spring管理对象分组的行为成为可能。新发布的Spring ...
  • @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "classpath:spring/spring-impl.xml" }) //加载配置文件 @TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = false) public class Test
  • 假设您已经设置了JNDI数据库资源,iBatis 3配置XML文件的以下环境适用于我(在Tomcat上运行):
  • 这是一个开放的JIRA问题( SPR-5991 )。 它具有标记为Spring 3.1的iBatis3支持 There's an open JIRA issue for this (SPR-5991). It has iBatis3 support tagged for Spring 3.1
  • 为了允许读取SqlMapConfig.xml文件,只需将其放在默认包路径中源文件夹旁边的config目录下,然后将该目录添加到类路径中。 我注意到你在SqlMapConfig.xml中缺少的另一件事是mappers ..这个配置文件的主要作用是映射xml资源的位置以及定义数据源参数。 所以你可能需要在文件的末尾添加这样的东西: