问题标签 [aop]

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 投票
9 回答
48471 浏览

java - 在非单例 bean 上的 Spring 代理上修复 BeanNotOfRequiredTypeException?

我在从应用程序上下文中提取 Spring bean 时遇到问题。

当我尝试时;

我明白了;

如果在 getBean() 调用中没有指定类,我会得到一个 ClassCastException(您可以在下面详细看到)。

InnerThread bean 被初始化为非单例,因为我需要多个实例。InnerThread 类还扩展了 Thread。有趣的是,这个错误出现在 OuterThread 中,它的设置方式与 InnerThread 完全相同。

我试图在下面包含所有相关的代码清单/堆栈跟踪。有更多春季经验的人可以告诉我这里发生了什么吗?


代码/配置列表

OuterThread.java 片段:

SpringContextFactory.java:

应用上下文.xml:

堆栈跟踪


没有回答我的问题的类似问题

0 投票
6 回答
3998 浏览

aop - 您在现实世界中对面向方面编程有何用途?

我很难理解为什么采用 AO 的速度如此缓慢。主流语言有很多丰富的实现。我的猜测是,就像当时的 OO 一样,这足以使人们不认识它可以帮助他们的地方的范式转变。

那么,除了非侵入式日志记录之外,您已经使用或计划使用 AO 的哪些方法可以降低复杂性、改进维护、增强系统“功能”

0 投票
2 回答
277 浏览

aop - 在 AspectJ 中对给定类型的任何参数提出建议

有没有办法对任何具有给定类型参数的方法提出建议。我打算将它用于需要输入过滤的类。

举个例子:

我想编写适用于此类方法的任何字符串参数的建议,以便我可以用安全的转义版本替换它们的内容(以防止例如 SQL 注入)。

能不能写出这样的切入点?

0 投票
7 回答
13162 浏览

aop - 面向切面编程(AOP)的缺点是什么?

面向切面编程的可能和关键缺点是什么?

例如:对新手的神秘调试(可读性影响)

0 投票
2 回答
2985 浏览

java - AspectJ load-time weaving in production systems

Does anyone have an experience with pure AspectJ load time weaving in production systems (mostly interesting Tomcat related activities)? I'm slightly worrying regarding memory footprint and cpu overhead.

0 投票
1 回答
1350 浏览

c++ - 如何在 Pre-Build... 中修改源文件而不修改源文件?

所以我正在使用 Visual Studio 2005,对于我当前的项目,我正在构建一个 C# 加载项来处理 AspectC++ 方面的编织。收集方面和源文件并将它们提供给方面编译器非常简单,但这会生成新的(修改过的)源文件。我正在尝试模拟标准的 AspectC++ 插件:http ://www.pure-systems.com/AspectC_Add-In.22+M54a708de802.0.html,所以我想保持项目的源文件不变,因为我将编织文件提供给 C++ 编译器。假设我什至可以做到这一点(不确定如何),我将如何让调试器正确指向原始源文件?我知道我必须取消选中 VS 选项,这样源就不必与编译版本匹配,但我不知道如何在不直接修改源文件的情况下将两者关联起来。有什么建议吗?

0 投票
3 回答
3918 浏览

spring - Spring AOP 错误

什么会在运行时导致此问题?:

匹配的通配符是严格的,但找不到元素“aop:config”的声明

这是相关的 Spring XML:

请注意,我已经将aspectjweaver.jaraspectjrt.jar放在类路径中。

0 投票
4 回答
1001 浏览

aop - 除了日志记录和事务管理,AOP 还有哪些实际应用?

我理解这些原则,但我很难看到实际应用程序在少数几个之外。请赐教;)

0 投票
1 回答
148 浏览

language-agnostic - 我们对待接口和实现就像对待内容和样式一样,那么为什么不同样处理呢?

我使用过 Spring,并且研究过 Guice,我认为这些都是对语言的相当突兀的扩展。我坚信编程语言本身需要适应对依赖注入、测试等更有凝聚力的模式,那么为什么不倾向于基于样式表的方法呢?通过允许多种“样式”,您可以为不同目的定义对象的配置。也许类和其他优点可以让您指定比简单的类/方法名称匹配更强大的事务范围。

这对任何人来说都是个好主意吗?另外,您是否认为 DI 和 AOP 将作为核心功能集成到未来的语言中,而不是事后才想到?我只是在想,似乎接口-> 实现几乎完全对应于数据-> 样式。

想法?

0 投票
3 回答
9497 浏览

spring - 使用 Spring 和 AspectJ 可配置与组件

使用 AspectJ 时,为什么要使用 @Component 而不是 @Configurable。

我已经为 @Transactional 支持、自调用方面以及注入 JPA 实体设置了 Spring 和 AspectJ。这很好用。

我将@Component 用于大多数需要注入的类,因此要么将它们注入到它们的依赖项中。或者,当我不能时,注入 ApplicationContext 然后使用 getBean() 作为最后的手段。我只为需要注入的 JPA 实体(Hibernate)保留 @Configurable。我还开始使用 @Configurable 进行 jUnit 测试,以简化编写测试。这也很好用。

但我很好奇。如果 AspectJ 现在使用 @Configurable 注释自动注入(beanifying)任何东西,不管它是如何构造的;getBean()、new()、@Autowired。为什么我不切换到对我所有的 bean 使用 @Configurable 呢?然后我可以完全取消应用程序上下文和 getBean(),而只需 new() 任何我无法注入的类。

我意识到我没有提到 XML bean 配置。我并不回避这一点,但这个项目恰好不需要任何东西。我只是在测试时构造函数或设置器注入依赖项。好简单。