答案是
@ContextConfiguration(classes={RootApplicationContext.class,ServletApplicationContext.class})在测试环境中和生产环境中的继承不是一回事。在测试环境中,您包括RootApplicationContext并
ServletApplicationContext作为测试应用程序上下文的一部分。在生产中,使用继承而不是简单包含,如您在问题中所述。
似乎
BeanFactoryPostProcessor(
@EnableAspectJAutoProxy在您的情况下)父级上下文中的内容不适用于子级上下文。要使其在生产
@EnableAspectJAutoProxy环境中起作用,您还必须在子上下文中明确定义。
在这种情况下,Spring上下文定义应如下所示:
@Configuration@import(AopConfig.class)public class RootApplicationContext { ...}@Configuration@import(AopConfig.class)public class ServletApplicationContext { ...}要么
@Configuration@ComponentScan(basePackageClasses={AopConfig.Class, ...})public class RootApplicationContext { ...}@Configuration@ComponentScan(basePackageClasses={AopConfig.Class, ...})public class ServletApplicationContext { ...}相关任务



