问题标签 [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.

0 投票
0 回答
53 浏览

java - 跳过方法可见性会导致切点所有方法?

在 AspectJ 中,如果您不指定方法可见性,是否所有方法都“考虑”?

例子:

pointcut timed() : execution(@Timed !static * (@Metrics).*(..)) && this(object);

此处是否建议所有方法(公共、私有等)?

0 投票
1 回答
280 浏览

java - 当同时使用 Aspect 和 Transactional 时,它是否通过代理进行代理?

如果我确实在一个方法上使用了事务注释,同时也使用了 Aspect,那么 spring 将如何表现呢?它会在事务代理对象上创建方面代理吗?或者 spring 是否聪明地混淆了代理对象的逻辑?

如果我的理解在这里完全错误,请纠正我。

0 投票
1 回答
222 浏览

postsharp - PostSharp AOP - 无法将方面应用于 mscorlib System.IO.StreamReader 成员

**我正在使用 PostSharp Express……但不确定在这种情况下会有所不同。

我有一个OnMethodBoundary->OnEntry方面,可以在我自己的代码中在程序集级别成功地多播给类成员,但是当我尝试将它应用于mscorlib System.IO.StreamReader成员时,没有骰子。根据我在 PostSharp 网站、SO 和 Google 上所做的搜索,我无法判断当前版本的 PostSharp 解决此问题的正确方法是什么。有人知道吗?希望我只是缺少一些简单的东西:\

这是我正在使用的多播属性后面的方面:

0 投票
1 回答
665 浏览

java - 切入点实体加载/持久 JPA 操作?

我想在每次加载或持久化我的实体时包装/解包它。我知道我不能使用 JPA 侦听器来做到这一点,因为它们只能对对象执行操作而不能与其他对象交换。自然的解决方案是使用 Aspect。但是有没有我可以切入的特定方法?问题是要包装/展开的实体可以是另一个实体的字段......

编辑:

我发现您不能使用 Spring AOP 执行此操作,因为 EntityManager 不是弹簧管理的(为什么?) - 请参见此处。为了使它工作,我必须明确定义 EntityManager bean,但在那篇文章中不建议这样做 - 再次,为什么?无论如何该怎么做?另一方面,为什么他们说创建的 EntityManager 是应用程序管理的?请参阅弹簧 API 文档

0 投票
3 回答
6989 浏览

java - 找不到 aspectj-maven-plugin 的依赖项

我对使用 aspectj-maven-plugin 的 CTW 方面有疑问。我收到以下错误(正在突出显示执行条目):

关于配置:

我究竟做错了什么?看起来好像这个插件找不到jdk?但为什么?

0 投票
1 回答
1009 浏览

java - Spring Aspects/Advisors 的初始化顺序

有没有办法配置 Spring 中不同的方面(或更准确地说是它们对应的顾问)的初始化方式?请注意,我说的不是建议顺序,而是方面的初始化。

这个问题的背景是一个用例Aspect AService X应该由Aspect B. 但是,由于Aspect A首先被初始化并强制创建Service X,Aspect B并没有应用于服务。

如何在不Service X依赖的情况下更改初始化顺序Aspect B(这将是一种解决方法,因为它强制执行所需的顺序,但服务永远不必处理它的各个方面......)?

如果您想了解我的问题的总体情况,这是另一个导致我问这个问题的问题。

0 投票
2 回答
369 浏览

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中的一个方法调用代理中的其他方法时,最后一个方法不会有方面呢?

谢谢

0 投票
1 回答
826 浏览

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

0 投票
0 回答
1115 浏览

java - 如何通过 Spring AspectJ 拦截 JSF Managed bean Method

我无法通过 ASpectj 拦截 JSF 托管 bean 方法。你知道如何使它成为可能吗?我的意思是,spring 只拦截它自己的上下文类方法吗?

方面类

登录Bean.java

春天.xml

0 投票
1 回答
852 浏览

java - 如何使用命令行将切入点附加到 .jar 文件中的类方法?

我是 AOP 的新手。我在 HookShow.java 文件中创建了一个类:

然后我编译它并将生成的 .class 文件添加到 .jar 文件中,使用:

现在我有一个 HSHOW.jar。现在我正在创建一个切入点的切面,该切入点在调用show(). 但我不知道如何引用该 jar 文件中的类和方法。以下是我的方面文件:

所以请谁能告诉我如何在我的 jar 文件中引用类中的方法。