小编use*_*219的帖子

@Transactional导致spring框架中的nosuchbeandefinitionexception

使用@transactional注释我的服务类的方法时遇到问题.这样的注释会在我的测试类中导致NoSuchBeanDefinitionExcpetion,其中服务类是自动装配的.如果删除了事务性注释,它将再次正常工作.为什么会这样,我在spring文档中找不到线索.

这是我的application-context.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
     http://www.springframework.org/schema/beans 
                    http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
                    http://www.springframework.org/schema/jdbc 
                    http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd
                    http://www.springframework.org/schema/context 
                    http://www.springframework.org/schema/context/spring-context-3.1.xsd">

<context:component-scan base-package="<mypackage...>" />

<import resource="data-context.xml"/>

<import resource="resources-context.xml"/>

<import resource="persistence-context.xml"/>
Run Code Online (Sandbox Code Playgroud)

这是我的persistence-context.xml的一部分

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
http://www.springframework.org/schema/beans 
                    http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
                    http://www.springframework.org/schema/context 
                    http://www.springframework.org/schema/context/spring-context-3.1.xsd">


<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSourceConnection" />
    <property name="configLocation"
        value="classpath:configuration/mybatis/config.xml"></property>
</bean>


<bean id="txManager"
    class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSourceConnection" />
</bean>
<tx:annotation-driven transaction-manager="txManager" />

<bean id="accessDao" class="dao.impl.AccessDaoImpl">
    <property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>

<bean id="utilitiesDao" class="dao.impl.UtilitiesDaoImpl">
    <property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>

<bean id="portafoglioDao" …
Run Code Online (Sandbox Code Playgroud)

spring exception transactional

3
推荐指数
1
解决办法
1738
查看次数

标签 统计

exception ×1

spring ×1

transactional ×1