栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Spring MVC和AOP:@Controllers的@Pointcuts仅在测试中起作用,而在生产环境中不起作用

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring MVC和AOP:@Controllers的@Pointcuts仅在测试中起作用,而在生产环境中不起作用

答案是

@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 {    ...}

相关任务



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/615841.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号