问题标签 [aspect]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 跳过方法可见性会导致切点所有方法?
在 AspectJ 中,如果您不指定方法可见性,是否所有方法都“考虑”?
例子:
pointcut timed() : execution(@Timed !static * (@Metrics).*(..)) && this(object);
此处是否建议所有方法(公共、私有等)?
java - 当同时使用 Aspect 和 Transactional 时,它是否通过代理进行代理?
如果我确实在一个方法上使用了事务注释,同时也使用了 Aspect,那么 spring 将如何表现呢?它会在事务代理对象上创建方面代理吗?或者 spring 是否聪明地混淆了代理对象的逻辑?
如果我的理解在这里完全错误,请纠正我。
postsharp - PostSharp AOP - 无法将方面应用于 mscorlib System.IO.StreamReader 成员
**我正在使用 PostSharp Express……但不确定在这种情况下会有所不同。
我有一个OnMethodBoundary
->OnEntry
方面,可以在我自己的代码中在程序集级别成功地多播给类成员,但是当我尝试将它应用于mscorlib
System.IO.StreamReader
成员时,没有骰子。根据我在 PostSharp 网站、SO 和 Google 上所做的搜索,我无法判断当前版本的 PostSharp 解决此问题的正确方法是什么。有人知道吗?希望我只是缺少一些简单的东西:\
这是我正在使用的多播属性后面的方面:
java - 切入点实体加载/持久 JPA 操作?
我想在每次加载或持久化我的实体时包装/解包它。我知道我不能使用 JPA 侦听器来做到这一点,因为它们只能对对象执行操作而不能与其他对象交换。自然的解决方案是使用 Aspect。但是有没有我可以切入的特定方法?问题是要包装/展开的实体可以是另一个实体的字段......
编辑:
我发现您不能使用 Spring AOP 执行此操作,因为 EntityManager 不是弹簧管理的(为什么?) - 请参见此处。为了使它工作,我必须明确定义 EntityManager bean,但在那篇文章中不建议这样做 - 再次,为什么?无论如何该怎么做?另一方面,为什么他们说创建的 EntityManager 是应用程序管理的?请参阅弹簧 API 文档
java - 找不到 aspectj-maven-plugin 的依赖项
我对使用 aspectj-maven-plugin 的 CTW 方面有疑问。我收到以下错误(正在突出显示执行条目):
关于配置:
我究竟做错了什么?看起来好像这个插件找不到jdk?但为什么?
java - Spring Aspects/Advisors 的初始化顺序
有没有办法配置 Spring 中不同的方面(或更准确地说是它们对应的顾问)的初始化方式?请注意,我说的不是建议顺序,而是方面的初始化。
这个问题的背景是一个用例Aspect A
,Service X
应该由Aspect B
. 但是,由于Aspect A
首先被初始化并强制创建Service X
,Aspect B
并没有应用于服务。
如何在不Service X
依赖的情况下更改初始化顺序Aspect B
(这将是一种解决方法,因为它强制执行所需的顺序,但服务永远不必处理它的各个方面......)?
如果您想了解我的问题的总体情况,这是另一个导致我问这个问题的问题。
spring - 使用 Spring AOP 在 aspectj 下使用?
嗨,
看了很多关于Spring AOP vs AspectJ,还是有些疑惑:
1.)当使用带有@Aspect注释的类并使用“aop:aspectj-autoproxy”标签的Spring AOP时,可以说我们只使用了aspectj的注释,或者它也被用于编织?
2)据说AspectJ具有更好的性能,因为编织是在编译时,这意味着目标类文件在物理上发生了变化,在其中插入了方面?是不是有点咄咄逼人?
3)它说Spring使用代理进行AOP,所以,我理解当你从Spring获得一个bean时,Spring会在内存中构建一个已经插入方面的代理,对吧?那么为什么说当你的代理bean中的一个方法调用代理中的其他方法时,最后一个方法不会有方面呢?
谢谢
spring-security - 仅使用 Spring-Security(或)Spring 进行授权
我有与授权和弹簧安全有关的问题。为了在我的一项服务中实现授权检查(在面向服务的架构环境下),我试图查看是否可以使用 Spring-Security。在浏览 Spring Security 文档时,我在这里读到spring security 在内部使用 spring 的 AOP。
参考:您可以选择使用 AspectJ 或 Spring AOP 执行方法授权,也可以选择使用过滤器执行 Web 请求授权。您可以同时使用零个、一个、两个或三个这些方法。主流的使用模式是做一些web请求授权,再加上service层的一些Spring AOP方法调用授权。
我们已经在我们的服务实现中使用了 Spring AOP。在我的例子中,将进入我的 RESTful 服务的请求将携带一个自定义构建的令牌对象,应该对其进行处理以执行授权检查。
基于此,我想了解我是否可以简单地使用 Spring 并创建一个 Aspect 来捕获入站请求,提取和处理关联的(自定义构建的)令牌并根据结果继续/拒绝请求?鉴于通信通道已使用 HTTPS 保护,我是否需要 spring-security?
谢谢,
SGSI
java - 如何通过 Spring AspectJ 拦截 JSF Managed bean Method
我无法通过 ASpectj 拦截 JSF 托管 bean 方法。你知道如何使它成为可能吗?我的意思是,spring 只拦截它自己的上下文类方法吗?
方面类
登录Bean.java
春天.xml
java - 如何使用命令行将切入点附加到 .jar 文件中的类方法?
我是 AOP 的新手。我在 HookShow.java 文件中创建了一个类:
然后我编译它并将生成的 .class 文件添加到 .jar 文件中,使用:
现在我有一个 HSHOW.jar。现在我正在创建一个切入点的切面,该切入点在调用show()
. 但我不知道如何引用该 jar 文件中的类和方法。以下是我的方面文件:
所以请谁能告诉我如何在我的 jar 文件中引用类中的方法。