spring的aop技术,进不去切面方法,求助
<bean id="logService" class="com.incomrecycle.grms.service.LogServiceImpl"></bean><aop:config>
<aop:pointcut expression="execution(* com.incomrecycle.grms.web.dao.DBUtil.insert*(..))" id="myPointcut" />
<aop:pointcut expression="execution(* com.incomrecycle.grms.web.dao.DBUtil.executeSx*(..))" id="myPointcut1" />
<aop:pointcut expression="execution(* com.incomrecycle.grms.web.dao.DBUtil.query*(..))" id="myPointcut2" />
<aop:aspect id="dd" ref="logService">
<aop:after-returning method="logArgAndReturn" returning="returnObj" pointcut-ref="myPointcut"/>
<aop:after-returning method="logArgAndReturn" returning="returnObj" pointcut-ref="myPointcut1"/>
<aop:after-returning method="logArgAndReturn" returning="returnObj" pointcut-ref="myPointcut2"/>
</aop:aspect>
</aop:config>
以上是applicationContext.xml的配置信息,
com.incomrecycle.grms.service.LogServiceImpl是切面的处理方法,现在怎么都进不去这个方法,不知道为什么。 我的DBUtil里面是用的单例模式写的,如下
public class DBUtil {
private JdbcTemplate jdbcTemplate;
private static DBUtil dbUtil=null;
private DBUtil(){
jdbcTemplate =(JdbcTemplate)ContextLoader.getCurrentWebApplicationContext().getBean("jdbcTemplate");
}
public synchronized static DBUtil getConnection() {
if (dbUtil == null) {
dbUtil = new DBUtil();
}
return dbUtil;
}
public void insert(){
………………
}
public void update(){
………………
}
} --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 你切得是* com.incomrecycle.grms.web.dao.DBUtil这里面的方法,而不是你那个什么service里面的方法 --------------------编程问答-------------------- 同上
<bean id="logService" class="com.incomrecycle.grms.service.LogServiceImpl"></bean>--------------------编程问答-------------------- 对啊,我就是要切DBUTil, 在DButil运行后,在用service里面处理一些数据 --------------------编程问答--------------------
<aop:config>
<aop:pointcut expression="execution(* com.incomrecycle.grms.service.LogServiceImpl.*(..))" id="myPointcut" />
<aop:aspect id="dd" ref="logService">
<aop:after-returning method="logArgAndReturn" returning="returnObj" pointcut-ref="myPointcut"/>
</aop:aspect>
</aop:config>
但是我处理切面的方法往哪里放呢?我要横切DBUtil然后用service做后期处理 --------------------编程问答-------------------- 嗯 找到原因了,我的DButil没有用spring容器进行管理,所以导致spring下的aop无法使用
补充:Java , Web 开发