开发者社区> 问答> 正文

spring初始化和spring mvc servlet配置冲突?报错

用springmvc的时候component-scan如果写在spring的配置文件里 servlet的一些bean会扫描不到,如果写到servlet配置里 spring初始化就会报错,两边都写的话会造成一个类重复初始化,为什么sevlet不能直接使用之前spring加载的bean呢。

展开
收起
爱吃鱼的程序员 2020-06-12 11:11:06 699 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    context:exclude-filter怎么可能扫描不到,你写明确点啊,com.xxt.controller.* 从没有发生过扫描不到bean的问题,直接com.*难道还扫描不到么
    回复<aclass='referer'target='_blank'>@Black-Hole:明显是你配置不对不是扫描不到,是在URL匹配的时候找不到应该匹配的controller。假如有个controller设置的url是“/test”,过来的请求格式没问题,但找不到该controller,而这个bean确实是初始化存在的为什么要搞两个配置文件,把所有配置扔到spring-servlet里面

    <spanstyle="color:#e8bf6a;"><<spanstyle="color:#9876aa;">context<spanstyle="color:#e8bf6a;">:component-scan<spanstyle="color:#bababa;">base-package<spanstyle="color:#a5c261;">="com.sys"<spanstyle="color:#e8bf6a;">><spanstyle="color:#e8bf6a;"><<spanstyle="color:#9876aa;">context<spanstyle="color:#e8bf6a;">:exclude-filter<spanstyle="color:#bababa;">type<spanstyle="color:#a5c261;">="annotation"<spanstyle="color:#a5c261;"><spanstyle="color:#bababa;">expression<spanstyle="color:#a5c261;">="org.springframework.stereotype.Controller"<spanstyle="color:#e8bf6a;">/><spanstyle="color:#e8bf6a;"></<spanstyle="color:#9876aa;">context<spanstyle="color:#e8bf6a;">:component-scan>
    <spanstyle="color:#e8bf6a;"><<spanstyle="color:#9876aa;">context<spanstyle="color:#e8bf6a;">:component-scan<spanstyle="color:#bababa;">base-package<spanstyle="color:#a5c261;">="com.sys.web.controller,com.sys.common.web.controller"<spanstyle="color:#e8bf6a;">><spanstyle="color:#e8bf6a;"><<spanstyle="color:#9876aa;">context<spanstyle="color:#e8bf6a;">:include-filter<spanstyle="color:#bababa;">type<spanstyle="color:#a5c261;">="annotation"<spanstyle="color:#a5c261;"><spanstyle="color:#bababa;">expression<spanstyle="color:#a5c261;">="org.springframework.stereotype.Controller"<spanstyle="color:#e8bf6a;">/><spanstyle="color:#e8bf6a;"><<spanstyle="color:#9876aa;">context<spanstyle="color:#e8bf6a;">:include-filter<spanstyle="color:#bababa;">type<spanstyle="color:#a5c261;">="annotation"<spanstyle="color:#a5c261;"><spanstyle="color:#bababa;">expression<spanstyle="color:#a5c261;">="org.springframework.web.bind.annotation.ControllerAdvice"<spanstyle="color:#e8bf6a;">/><spanstyle="color:#e8bf6a;"></<spanstyle="color:#9876aa;">context<spanstyle="color:#e8bf6a;">:component-scan>
    在Servlet中使用spring初始化的bean你是用注解的方式还是通过 applictioncontext获取bean回复<aclass='referer'target='_blank'>@Black-Hole:你在servlet里面要用spring初始化的bean只能通过ApplicationContext取对应的bean不能再servlet里面直接用自动注入和Resouce注解配置文件截图来看看吧如果你使用Controller类似的注解请使用 <spanstyle="color:#333333;font-family:Arial;font-size:14px;line-height:26px;background-color:#FFFFFF;"><mvc:annotation-driven/>来驱动MVC注解。

    可以在spring配置文件中排出controller

    在mvc配置文件中只搜索controller


    2020-06-12 11:11:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多