2 u014229472 u014229472 于 2016.03.05 20:10 提问

ssh声明式事物为什么不能绑定

我配置spring声明式事物为*Server
我的登陆方法为login没有在事物的范围呢,但里面的getUserInfo在事物范围内,
那么只有get*的话就没有被绑定到线程中,只有配置login才行。为什么?

PROPAGATION_REQUIRED,-java.lang.Throwable


PROPAGATION_REQUIRED,-java.lang.Throwable


PROPAGATION_REQUIRED,-java.lang.Throwable


PROPAGATION_REQUIRED,-java.lang.Throwable


PROPAGATION_REQUIRED,-java.lang.Throwable


PROPAGATION_REQUIRED,-java.lang.Throwable,readOnly


PROPAGATION_REQUIRED,-java.lang.Throwable,readOnly


PROPAGATION_REQUIRED,-java.lang.Throwable

        public Map<String,Object> login(String userName,String passWord) throws ServiceException {
    Map<String,Object> infoMap = new HashMap<String, Object>();
    Boolean isOk = false;//是否登陆成功
    try {
        BaseUser user = getUserInfo(userName);
        passWord = Md5.md5(passWord);
        isOk = isPasswdOk(user,passWord);
        infoMap.put("isOk",isOk);//是否登陆成功
        if(isOk){
            infoMap.put("BaseUser",user);
        }
    } catch (DaoException e) {
        infoMap.put("isOk",isOk);
        throw new ServiceException("登录service error",e.getCause());
    }
    return infoMap;
}


     public BaseUser getUserInfo(String userName) throws DaoException {
    return userDao.getUserInfoByName(userName);
}

1个回答

devmiao
devmiao   Ds   Rxr 2016.03.05 23:51
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Spring学习之Spring的声明式事务管理详解
声明式事务管理大多数Spring用户选择声明式事务管理的原因是,这个是对应用代码影响最小的选择,因此也最符合 非侵入式 轻量级容器的理念。 Spring声明式事务管理可以在任何环境下使用。只需更改配置文件, 它就可以和JDBC、JDO、Hibernate或其他的事务机制一起工作。 Spring的声明式事务管理可以被应用到任何类(以及那个类的实例)上。 Spring提供了声明式的回滚规则。 Sprin
SSH:Spring框架(声明式事务管理详解)
声明式事务管理是spring对事务管理的最常用的方式,因为这种方式对代码的影响最小,因此也符合非侵入性的轻量级容器的概念。Spring的事务管理是通过AOP的方式来实现的,因为事务方面的代码与spring的绑定并以一种样板式结构使用。在理解spring声明式事务管理我们首先要理解他是通过AOP怎么具体实现的。其中的事务通知由元数据(目前基于xml和注解)驱动。代理对象由元数据结合产生一个新的代理对
Spring的声明式事务简介
声明式事务管理:Spring也提供了声明式事务管理。这是通过Spring AOP实现的。Spring中进行事务管理的通常方式是利用AOP(面向切片编程)的方式,为普通java类封装事务控制,它是通过动态代理实现的,由于接口是延迟实例化的,spring在这段时间内通过拦截器,加载事务切片。原理就是这样,具体细节请参考jdk中有关动态代理的文档。本文主要讲解如何在spring中进行事务控制。动
Spring声明式事物配置
事物配置: &lt;aop:pointcut id=&quot;transactionPointcut&quot; expression=&quot;execution(* s.s.m.service..*Impl.*(..))&quot; /&gt; &lt;aop:advisor pointcut-ref=
事务声明声明式事务和编程式事务介绍
编程式事务:所谓编程式事务指的是通过编码方式实现事务,即类似于JDBC编程实现事务管理。管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。 声明式事务 :管理建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务
spring AOP事物管理(声明式事物)
上一节我们说了spring编程式事物管理,但是总感觉还是要在每个service层的方法内嵌或者是外套事物管理代码,造成业务逻辑与事物耦合在一起了,还好有spring aop为我们管理了事物。下面我们来看下怎么实现: 业务层代码 package com.hbut.inspiration.service.impl import java.util.List; import org.sp
spring声明式事物的两种配置方式
目的:在使用事务的过程中法,发现在在通配符配置的形势下,想开启一个新的事务,必须在action层进行逻辑代码书写,然后调用service才能实现,或者在通配符设置中设置特定的方法命名规则来实现,非常不灵活,为了解决这个问题引入了注解式配置方式,发现灵活了很多 spring声明式事物的配置方式有两种:1,通配符配置,2注解式配置 区别,通配符方式方便,但是不灵活,注解式相反但是需要在每个需要注解
Hibernate4+Spring3实现声明式事务管理
概述: 还像往常一样先了解下基础知识: Hibernate是一个开源的ORM框架,能自动为对象生成相应SQL并透明的持久化对象到数据库,我们首先来了解一下什么是“ORM”。 ORM全称对象关系映射(Object/Relation Mapping),指将Java对象状态自动映射到关系数据库中的数据上,从而提供透明化的持久化支持,即把一种形式转化为另一种形式。 对象与关系数据库之间是不匹配,我
spring+springMVC,声明式事务失效,原因以及解决办法
1.声明式事务配置: 1.声明书
spring 声明式事务原理解读
在Spring中,声明式事务是通过事务属性(transaction attribute)来定义的。事务属性描述了事务策略如何应用到方法上。事务属性包含5个方面: 传播行为隔离级别是否只读事务超时回滚规则 尽管Spring提供了多种声明式事务的机制,但是所有的方式都依赖这五个参数来控制如何管理事务策略。 (上述内容参考《Spring In Action》第三版)。 对于声明式事务是使