Spring 混合声明bean和注释bean:org.hibernate.hibernateeexception未找到当前线程的会话
我找不到当前线程的会话。 我想问题在于混合声明性xml bean和带注释的bean。 接下来,我将恢复配置 我的图书馆项目 春季3.1.4 冬眠4 applicationContext.xml AccountDAO.java com.mycompany.dao AccountService和AccountDAO是事务性的 现在,在AccountController.java中,我调用accountService.listcounts,一切正常 但,若我在代码段之后将AccountService注入PermissionEvaluator类,则AccountController在调用AccountService.listAccounts时找不到当前线程的会话 PermissionEvaluator.java com.mycompany.PermissionEvaluator 我将PermissionEvaluator与AccountService一起使用,AccountDAO由model-core-security.xml中声明的expressionHandler bean中的组件扫描创建 这可能是找不到currend线程会话的原因吗?@Transactional 你们的进口包装是什么 导入org.springframework.transaction.annotation.Transactional 您可以尝试导入javax.transaction.TransactionalSpring 混合声明bean和注释bean:org.hibernate.hibernateeexception未找到当前线程的会话,spring,hibernate,session,transactional,transactionmanager,Spring,Hibernate,Session,Transactional,Transactionmanager,我找不到当前线程的会话。 我想问题在于混合声明性xml bean和带注释的bean。 接下来,我将恢复配置 我的图书馆项目 春季3.1.4 冬眠4 applicationContext.xml AccountDAO.java com.mycompany.dao AccountService和AccountDAO是事务性的 现在,在AccountController.java中,我调用accountService.listcounts,一切正常 但,若我在代码段之后将AccountService注
<tx:annotation-driven transaction-manager="transactionManager" />
<context:component-scan
base-package="com.mycompany.dao.core, com.mycompany.services.core,
com.mycompany.permissionEvaluator" />
<import resource="model-core-security.xml" />
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
... (sessionFactory ecc...)
<bean id="expressionHandler"
class="org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler">
<property name="permissionEvaluator" ref="permissionEvaluator" />
</bean>
<security:global-method-security
pre-post-annotations="enabled">
<security:expression-handler ref="expressionHandler" />
</security:global-method-security>
@Service("accountService")
@Transactional
public class AccountServiceImpl implements AccountService {
@Resource
private AccountDAO accountDAO;
...
}
@Repository
@Transactional
public class HibernateAccountDAOImpl implements AccountDAO {
...query...
}
Component("permissionEvaluator")
public class PermissionEvaluatorImpl implements PermissionEvaluator {
@Resource
private AccountService accountService;
...
}