我正在使用Spring 3.0.5,并且想知道是否有可能以某种方式排除已经使用@Aspect构造型注释的加载方面类,但同时包括其他方面带注释的类?如果你去注释路线(我是)我似乎是一个全有或全无的东西我已经尝试过看了但是可以;但似乎找不到任何暗示这一点的东西。
这样做的原因是我有一个包含方面的中央核心库,但我可能不想在使用这个中央库创建的每个项目中包含这些方面。
感谢。
答案 0 :(得分:1)
这是一个很长的答案......
如果您使用的是带有Spring AOP的AspectJ注释而不是AspectJ运行时或编译时编织,那么您很幸运。如果用@Component之类的东西注释,Spring只会选择带注释的@Aspect类。 Spring不认为@Aspect是组件扫描的候选者。如果您正在使用XML配置,只需从配置中删除该bean。
我建议不要使用会击中核心库的组件扫描。例如,如果您的应用是com.example.myapp1,而您的核心库是com.example.corelibrary。*请确保您的组件扫描仅查看com.example.myapp1而不是com.example。
由于这个原因,在应用程序的基本软件包之外进行组件扫描不是安全的。使用bean的XML配置引入各个方面。