2 ai362909632 ai362909632 于 2013.06.03 15:33 提问

S2SH集成中使用AOP后查询结果为NULL?。。请教高手解答一下

做SSH集成,用得是spring的声明式事务和hibernate做的集成。
以下是spring配置文件中关于AOP的配置:

<!-- 配置aop拦截声明类 -->  
<bean id = "myAop" class="com.acc.aop.MyAop"></bean>

<aop:config>

   <aop:pointcut expression="execution(* com.acc.service.*.*(..))"               id="pointCut"/>

   <aop:advisor advice-ref="txAdvice" pointcut-ref="pointCut"/>
   <!-- 配置切面 -->
   <aop:aspect id="aspect" ref="myAop">
      <aop:after method="after" pointcut-ref="pointCut"/>
      <aop:after-returning method="afterReturning" pointcut-ref="pointCut"/>
      <!--环绕 -->
      <aop:around method="arroundAdvice" pointcut-ref="pointCut"/>
      <aop:before method="beforeAdvice" pointcut-ref="pointCut"/>
   </aop:aspect>
</aop:config>

之后是从Dao 层 ---》service层----》action层逐层注入的,在action中查询结果集,调用注入在action层中的service层接口,执行数据查询操作时,查询的结果为NUll!!!!
我试了一下把上面配置文件中的<aop:aspect id="aspect" ref="myAop"></sop:aspect>标签中配置的环绕通知配置项注释掉后,可以查询出结果集.
一下是自定义的aop类中的环绕方法:

public void arroundAdvice(ProceedingJoinPoint pjp){
System.out.println("环绕通知");
try {
pjp.proceed();
} catch (Throwable e) {
  e.printStackTrace();
}
}

为什么注释了配置文件中有关于环绕通知的配置后就可以查询出结果集了??

<!--环绕 -->
<aop:around method="arroundAdvice" pointcut-ref="pointCut"/>

不懂了,恳请各位帮忙解决!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
基于Spring+SpringMVC+Hibernate框架系统, 利用SpringAOP实现写日志,切入点的Controller层出现@AutoWire 注入Service为null的情况分析
基于Spring+SpringMVC+Hibernate框架系统, 利用SpringAOP实现写日志,切入点的Controller层出现@AutoWire 注入Service为null的情况分析 最近为了拓展系统,增加了对Controller层写日志的功能,实现方式是基于Spring的AOP来实现的,具体的实现方法我就写了,网上一大堆实现过程。整个实现过程一开始非常快速简单,而且运行基本没有
编码语言查询
SQL清除语言,查询,使用,请教高手,这个结果如何
使用spring的aop实现拦截action后出现依赖注入为空的问题
java.lang.NullPointerException com.my.web.action.privilege.back.EmployeeManageAction.login(EmployeeManageAction.java:277) com.my.web.action.privilege.back.EmployeeManageAction$$FastClassByCGLIB$$f62
spring mvc + spring + mybatis 查询数据库后取值为null
spring mvc + spring + mybatis 查询数据库后得到的pojo对象,若pojo对象有属性abc,那么在取这个字段的值的时候要:getAbc()时,要用getAbc==null ? "" : getAbc(),否则取到的值是"null"字符串(在数据库中abc字段的值为null的时候)
sql查询 group by 数字类型+null 为null 处理 ,sum()的结果作为条件再次查询。
SELECT * from (SELECT  (sum(r.amount) + (case when sum(red.amount) is null then 0 else sum(red.amount) end )) as a, u.real_name,u.username,p.title from s_recharge_log AS r left  JOIN s_user AS u ON
spring AOP 返回后通知 简单示例
开始前我们要导入spring需要的jar包; 还需要引入 aspectjweaver.jar 和 cglib.jar 这两个jar包 如果是maven项目的话,在pom.xml 的dependencies节点下添加如下引用即可:   Xml代码        aspectj aspectjweaver 1.5.3
mybatis mapper查询结果为NULL 复制出sql执行有结果
这是由于数据库字段增加。实体类,和mapper没有更新。
oracle数据库解决查询值为null的情况
lnnvl用于某个语句的where子句中的条件,如果条件为真就返回真,否则为假。 其含义可理解为LNNVL == IS NULL OR IS NOT TRUE 它的优势在于处理简单条件判断无法实现的null条件,用举例说明 SQL> select * from plch_employees;  EMPLOYEE_ID LAST_NAME           SALARY          
关于SQL中使用select sum查询结果为NULL的解决办法
问题: 今天在项目中遇到了一个关于sql的问题,统计数据的时候遇到多个sum(column)之间的计算 发现如果其中有一列(该列的数据类型为decimal)的所有数据都为0 select sum(column)的结果会是“NULL” 当NULL与其它数据进行计算的时候结果都是NULL 这样就会导致数据的计算错误。 解决办法: 在做统计的时候判断该结果是否为NULL,若是NULL 可以将结果的
SpringMVC + Mybatis bug调试 SQL正确,查数据库却返回NULL
今天碰到个bug,有点意思 背景是SpringMVC + Mybatis的一个项目,mapper文件里写了一条sql 大概相当于 select a from tableA where b = "123" 这样的级别 然后不管传进去的是什么 数据库里有没有 都会返回null 第一反应是sql语句写错了,比如把1和小写L弄混了之类的,传给sql的参数里有奇怪的空格等等 于是打开debug