解决方案 »
- 把ocx打成CAB包发布后,出现问题。
- 怎么显示密码
- ssh集成,第一次保存能成功,第二次出错 (已经设置了单例模式) ,高手请进
- 改变了下拉选项后,怎么根据这个选项值进行信息跟新?
- 如何用JS导出JSP中的动态数据?
- JSP FileInputStream 路径问题
- 为什么js在这个页面不执行
- 100分求一个ajax+jsp无限级目录树的例子,要带记忆节点功能。
- jsp程序挑错,请指点(request的问题)
- 在页面上显示书名和图书简介两个字段的内容的问题:前者正常显示,而后者显示出现乱码?真奇怪!求助!谢谢!
- 求帮忙
- 下面的代码,我想把src后面的相对地址,改成绝对地址!试了几个方法还是没有成功!麻烦大侠们了!
<aop:aspectj-autoproxy proxy-target-class="true"/>这样就错了....
<aop:aspectj-autoproxy/>这样就不报错.....这是为什么呀...
而不加这个,默认为false,用的是jdk的动态代理,是面向接口的
请问我在controller里做了int a = 1/0;然后抛出了异常...现在用的是jdk的动态代理....controller没有继承什么接口呀..就是一个普通的类.....可是为什么还是能用到aop呢?另外.....如果要用到cglib是否需要自己导入jar包?
请问我在controller里做了int a = 1/0;然后抛出了异常...现在用的是jdk的动态代理....controller没有继承什么接口呀..就是一个普通的类.....可是为什么还是能用到aop呢?另外.....如果要用到cglib是否需要自己导入jar包?抛异常之后前面的操作回滚了?
cglib是要导jar包的
请问我在controller里做了int a = 1/0;然后抛出了异常...现在用的是jdk的动态代理....controller没有继承什么接口呀..就是一个普通的类.....可是为什么还是能用到aop呢?另外.....如果要用到cglib是否需要自己导入jar包?抛异常之后前面的操作回滚了?
cglib是要导jar包的这个controller很简单的...没有什么dao的操作...就是直接return XXX.jsp
我就是不明白...controller又没有继承什么接口...我设置的是jdk动态代理.....不是应该不起作用的吗...
Initialization of bean failed; nested exception is org.springframework.aop.framework.AopConfigException: Cannot proxy target class because CGLIB2 is not available. Add CGLIB to the class path or specify proxy interfaces.应该是服务器启动的时候就会报错
cglib不是比jdk动态代理使用范围更广吗.....jdk动态代理还需要接口...cglib都不需要接口...然后使用cglib出错....jdk动态代理就不报错?这不科学啊.....难道是我没导入cglib包的原因?再说了....使用jdk动态代理只能对接口类型对象才有效果吧....为何我一个controller都有效....aop的类...
controller
没继承接口的controller也可以被代理.....
@Aspect
public class ExceptionLogger {
// private static Logger log = LogManager.getLogger(ExceptionLogger.class);
// @AfterThrowing(throwing="e", pointcut="execution(* test..*.*(..))")
// public void logException(Throwable e){
// log.error(e.getMessage(), e);
// }
@Before(value="execution(* test.HomeController.index(..))")
public void show(){
System.out.println("============================");
}
}Controller@Controller
public class HomeController {
@RequestMapping(value = { "/index", "/" })
public String index() {
//int a = 5/0;
return "index";
}
}
工程:http://pan.baidu.com/s/1i3GFnbn
里面就2个类...一个aop的类..一个controller
maven项目,直接clean package tomcat:run 就能运行
地址栏localhost:8080/test 就可以访问controller
然后就是Controller不是继承接口....web.xml里设置的是jdk动态代理....然后还是能用aop.....
谢谢啦~
1.最简单的方法:直接去掉proxy-target-class="true"
2.不去掉也可以,把代理方法中的final去掉就行