2014-12-05 185 views
0

我有一个项目,我想使用AOP的一些好处,这不是由我制作的,所以我不能在配置上做太多改变,在这一步是我需要一些建议,因为我想使用Spring AOP,但是何时或如何正确初始化Spring上下文?在一个非Spring项目中的Spring AOP

谢谢大家!

回答

0

这实际上取决于你打算做什么,因为有很多方法来设置春天背景。最简单的方法是基于ClassPathXmlApplicationContext:

ClasspathXmlApplicationContext context = new ClasspathXmlApplicationContext("root-context.xml"); 

这根context.xml中是一个XML bean配置文件搜索类路径根。通常你会把它放在src/main/resources上。

+0

好,我也会试试这个 – KESO 2014-12-05 21:38:12

0

Spring AOP依赖于Spring框架,仅适用于Spring Bean。所以你不能在没有Spring框架的情况下使用它。你想使用的是AspectJ。它只需要一个运行时库,并且可以与POJO,应用程序服务器,EJB或甚至联合使用Spring和Spring一起工作。它不需要任何动态代理,因为它在编译期间直接处理代码或在类加载期间动态处理代码。它比Spring AOP更快,更精简,功能更强大。

+0

你是对的,但我喜欢Spring和AspectJ的结合,因为它们似乎使得这个过程更加简单,所以我会尝试@gerrytan给出的想法,在其他情况下我会只使用AspectJ,谢谢 – KESO 2014-12-05 21:55:20

+0

然后请改变你的问题的主题,因为如果你使用Spring AOP,你也可以使用Spring,并且远非非Spring项目的想法。我再说一遍:如果你希望这个与Spring AOP一起工作,你想要建议的每个类或接口都必须是一个Spring组件。此外,Spring AOP和AspectJ的组合必然比其中任何一个更复杂(不容易)。我只是觉得它没有意义,因为你写了你不想使用Spring。但那你必须! – kriegaex 2014-12-06 00:47:12