前天两个坑:
1.org.aspectj.apache.bcel.classfile.ClassFormatException: Invalid
byte
tag in constant pool:
18
网上说
web.xml 文件里 version 升级到 3.0 并加入 metadata-complete=”true” 设置,然而并没有什么效果。升级 aspectjweaver 的版本也不管用
2.自定义注解对controller不生效
https://www.iteye.com/blog/phoenixfu-2037598
ContextLoaderListener加载applicationContext.xml一般是持久层和业务层的spring配置文件是父容器,DispatcherServlet加载springmvc配置文件是子容器,子容器可以获取父容器的bean对象,父容器不可获取子容器的bean。而aop要想切入controller层就要把aop配置放到Springmvc配置文件中,但这样service,dao层又切不到了,只好在Spring配置文件再复制一遍。。。嗯,不太优雅,暂时也没有更好解决方法
一个个大坑走过来项目可以使用自定义注解,当然也可以不用aop用拦截器也是一样没试过但应该差不多。
然鹅问题来了如果不是通过http访问,比如说其他线程比如说tcp这该怎么办
为什么Autowired 为什么能注入controller 而使用@Component 使用@Autowired注入不了
Spring整合activemq 由于版本比较高的activemq-all的jar包中包含了spring的一些包,这会引起包的冲突 需要分别导入
类似于NoSuchMethodError这种错误,最有可能的就是jar包引入版本的问题,或者是jar包冲突
java.lang.NoSuchMethodError:org.springframework.aop.framework.AopProxyUtils.getSingletonTarget(Ljava/lang/Object;)Ljava/lang/Object;
自己写的activemq demo注解能生效也织入了,但是公司项目使用mqtt加线程次从activemq取数据,不出意外的没有反应。看来还是要深入源码才行,加油