但还是毫无头绪。
就像我在另一个帖子上评论的那样。
顾名思义,加载时编织器将只对类的加载进行操作。现在,当一个类已经加载时,就不能再处理它了。
当返回类型是具体类时,它将导致热切地加载该类,它将在加载时间weaver注册之前加载,并可以完成它的工作。
我参与了一个较老项目的审查任务。任务是将某些库更新到更新的版本。这个项目成功地使用了spring(4.3.14.Release),以及JDK 8下的AspectJ(1.9.0)和Tomcat8.0.20。现在spring将更新到最新版本(目前为5.3.3),Tomcat版本也将提升到最新版本(目前为9.0.37)。服务器应该在JDK11下运行。升级库后,我们意识到AspectJ不再工作了。所以我开
和位于同一个包中,编织工作在直接实例化的包上,而不是bean返回的包上。 我搜索了Spring AOP文档,但似乎找不到任何与此相关的内容。对于自动代理,您需要做一些魔术,对于SpringAOP也需要做一些限制,但是加载时间编织就我所知应该可以工作--例如,我已经尝试过私有方法,它可以工作。
如果我使用的是基于AspectJ的Spring AOP,那么我是否需要配置我的方面来使用加载时间编织?或者Spring AOP在使用基于AspectJ的方法时也支持运行时/编译时编织吗?
当我设置Spring Ashej加载时间编织并通过关键字创建一个实例时,如下所示(下图)。事实证明,我无法访问构造函数中的依赖项。正如预期的那样,这一切都很好。执行顺序是 。现在,我可以访问构造函数中的依赖项。但问题是执行顺序:
每当打开Hibernate会话时,我都想使用AsheJ添加一个过滤器。我创建了一个方面并为我自己的类测试了它,它起作用了,但是对于Hibernate会话它什么也不做。 我创建了一个META-INF/aop。资源中的xml: 当我开始我的程序时,我得到以下异常: 我遵循了这些教程: 教程1教程2 我发现我必须按照异常的指示传递JVM参数,所以我尝试在构建梯度中执行以下操作: 根据IntelliJ,a