草庐IT

aspectj-autoproxy

全部标签

java - 如何使用 AspectJ 设置 springframework @Transactional

我想使用spring-aspects使我的方法具有事务性,但不使用SpringAOP(SpringAOP可以正常工作:)。我正在使用Maven来管理我的项目。有没有办法对我的项目类进行编译时编织,这样“它们是Transactional”。我正在尝试使用Mojo'sAspectJMavenPlugin,但没有任何好的结果。请帮忙。 最佳答案 我想通了。Maven插件工作正常,但问题出在我的spring配置上:我有:我需要的是:现在一切正常。我的@Transactional方法的性能得到改善,这也是我的目标。这是我的mavenaspec

java - .. 和 * 在 aspectj 中是什么意思

我的理解是..是0-Manyargs而*是any名称的一个arg.这个对吗?aspectj是否支持像args(..,myArg,..)这样的语法? 最佳答案 这是来自AspectJ网站:http://www.eclipse.org/aspectj/doc/next/progguide/semantics-pointcuts.html*表示除“.”之外的任意数量的字符..表示任意数量的字符,包括任意数量的“.”更新来自AspectJinAction-方法签名:Inmethodsignatures,thewildcard..isused

java - aspectj可以给java.lang.String添加方法吗

看了一些aspectj的文章,知道它可以增强类,很吸引人。我有一个非常愚蠢的问题,我找不到明确的答案:aspectj可以给java.lang.String添加方法吗?或者类似的问题:如果我无法获取某些类的源代码,我可以通过aspectj增强它们吗? 最佳答案 我只是在寻找别的东西,偶然发现了这个问题。我想指出,Kowser的回答虽然被接受了,但还是有些不正确。这个问题没有提到对LTW的限制,所以CTW仍在比赛中。可以编织JDK/JRE类文件,然后在后面的步骤中将建议的类添加到引导类路径中。我以前做过(甚至完全按照要求,即在Strin

java - Guice 与 AspectJ

几个月前我在使用GUIce,现在当我回到它时,我发现我必须重新阅读Guice文档和示例才能理解我对我的代码做了什么。但是,当我查看AspectJ时,它太直观了。它是Java语言的直观扩展。我觉得我已经可以坐下来立即编写AspectJ代码了。因此,我很想放弃对Guice的追求,转而使用AspectJ。特别是Spring正在生成AspectJ代码这一事实。Guice在AspectJ之上有哪些特性应该阻止我放弃Guice?为什么Google不放弃Guice而改用AspectJ?反之亦然,除了直观性之外,AspectJ的哪些特性会鼓励我放弃Guice?如果允许我在这里“编织”一个问题,是什么阻

java - 使用 AspectJ spring-aop 改变返回值的类型

这个问题在这里已经有了答案:Howtochangethereturnvaluebyspringaop[closed](1个回答)SpringMVC:Howtomodifyjsonresponsesentfromcontroller(2个答案)关闭3年前。我想完成从Controller收到的JSON响应,添加例如状态属性。在这方面,我将使用Aspect类,它的@Around方法返回一个自定义类对象。在这种情况下,我得到一个错误:java.lang.ClassCastException:*.controller.RestResponsecannotbecasttojava.util.Lis

java - 使用 AspectJ 将一个注释转换为多个注释

我在我的JPA映射中发现了一种模式,我想对其进行编码。一个简单的例子如下:@OneToMany(fetch=FetchType.EAGER)@Sort(type=SortType.NATURAL)privateSortedSetitems;我想创建一个名为SortedOneToMany的注释,我可以将其应用于上述集合:public@interfaceSortedOneToMany{FetchTypefetch()defaultEAGER;SortTypesort()defaultNATURAL;Classcomparator()defaultvoid.class;}我已经编写了以下方面

java - IDEA 无法在插件依赖项中找到 AspectJ 编译器 .jar

我正在尝试将AspectJ与Intellij结合使用。我在intellij、SpringAOP/@Aspectj和SupportAspectj中启用了Aspectj插件,并且设置了ajc编译器在Setting->javacompiler->ajc中。我收到此错误消息。AspectJSupportIDEAwasunabletofindAspectJcompiler.jaramongplugindependencies.Pleasefixin'/home/manoj/stuff/moghul/Git_backend/dropwizard/pom.xml'andre-importaproje

java - 我怎样才能让 AspectJ 负载编织在 Gradle 上工作(特别是 libgdx 构建)

所以我想在我的libgdx游戏中注入(inject)一些测试和日志记录功能。所以我将以下内容添加到我的主要桌面gradle依赖项中。compile'org.aspectj:aspectjweaver:1.8.2'compile"org.aspectj:aspectjrt:1.8.2"最初它没有找到依赖项,但是通过关闭离线模式并关闭并重新打开我的IntelliJ项目(Gradle同步按钮不起作用)解决了这个问题。我的理解是aspectjweaver必须作为java代理加载。所以我找到了gradle下载它的地方,并将以下内容添加到我的VM运行时配置选项中-javaagent:/Users/

java - 签名 jar 的 AspectJ 加载时编织

有人成功地使用带有签名jar的AspectJ加载时编织吗?我遇到了一个异常并且不知道如何修复它(使用AspectJ1.6.8-16.10测试):Exceptioninthread"main"java.lang.NoClassDefFoundError:com/package/clazz$AjcClosure1atcom.package.test.main(test.java:55)Causedby:java.lang.ClassNotFoundException:com.package.clazz$AjcClosure1atjava.net.URLClassLoader$1.run(U

java - AspectJ 加载时间编织不适用于 Spring bean

我正在开发一个项目,该项目使用Java(而非xml)风格的Spring配置来连接依赖项。它还具有应该通过AspectJ编织到所需方法(通过注释)的分析逻辑。设置正在运行,我可以看到我想要的包中的类正在编织,并且分析信息正在从它们中注销。问题是织入不适用于@Bean类。我通过以下方式在aop.xml中启用了调试:而且我可以看到我想要的包中的类正在被编织,但看不到配置中的bean。如果我直接实例化类(而不是注入(inject)它们)编织工作。不幸的是,我不能在这里发布真正的代码,但这里有一个简单的例子:@Configuration@EnableLoadTimeWeaving(aspectj