Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在两个Web应用程序之间共享spring方面类_Java_Spring_Aop_Ear - Fatal编程技术网

Java 在两个Web应用程序之间共享spring方面类

Java 在两个Web应用程序之间共享spring方面类,java,spring,aop,ear,Java,Spring,Aop,Ear,我的应用程序由两个web应用程序和EAR级jar文件组成。 一个web应用(比如SPApp)是使用Spring构建的,另一个是使用Struts构建的(STApp)。 我想分享这里定义的SPApp的方面类SystemArchitecture 6.2.3.3。共享公共切入点定义 在斯塔普 我在EAR级jar文件中添加了SystemArchitecture类,并从SPApp调用,但在访问STApp时不执行 因此,我将aspect类SystemArchitecture移到了STApp中,令人惊讶的是,它

我的应用程序由两个web应用程序和EAR级jar文件组成。 一个web应用(比如SPApp)是使用Spring构建的,另一个是使用Struts构建的(STApp)。 我想分享这里定义的SPApp的方面类
SystemArchitecture

6.2.3.3。共享公共切入点定义

在斯塔普

我在EAR级jar文件中添加了
SystemArchitecture
类,并从SPApp调用,但在访问STApp时不执行

因此,我将aspect类
SystemArchitecture
移到了STApp中,令人惊讶的是,它居然成功了。 当我把
SystemArchitecture
放在EAR级库中时,我不确定出了什么问题

请帮忙

谢谢,
HANUMAT

Spring AOP在Spring之外无法工作。AOP的Spring实现基于动态代理,Springbean工厂将代理建议的类来注入切入点。您所追求的是所谓的“加载时编织”,即使用java代理拦截类加载器,并在加载时装饰建议的类。这是AspectJ功能,不是Spring AOP。请在此处阅读更多信息:

Spring和AspectJ也可以一起使用,但仅限于Spring驱动的应用程序:

不过,若您想要“真正”的AOP,独立于Spring,那个么您需要使用加载时编织和AspectJ


编辑:可能误读了你的问题。你说只有当你把advice类放在struts应用程序中时,它才能在struts应用程序中工作。从中我了解到,您的Struts应用程序也是Spring驱动的。不知道你的配置就很难给出答案。具体来说,web.xml(两者都有)、application.xml和您的spring配置。

感谢您的回复。很抱歉,我不允许在我的客户端网络之外共享任何代码,因此无法帮助进行详细配置。关于我的问题,我没有告诉您,当我将方面类放在ear级别时,我的Spring应用程序SPApp可以访问它,但Struts应用程序STApp不能。所以我很好奇为什么它不能为STApp工作,而它却可以为SPApp工作。好吧,我很抱歉。如果不了解您的配置,就很难进行进一步的分析。谢谢@pap,实际上我很抱歉没有为您提供所需的详细信息。一旦我找到了,我会尽力给出解决方案。