zoukankan      html  css  js  c++  java
  • springmvc 整合Controller出现实例化两次问题

    启动项目的时候,发现初始化控制层的时候,初始化(使用构造方法打印日志的方式)了两次的情况。

    后来检查配置:

    <context:component-scan base-package="com.winning.joiner">
            
    </context:component-scan>

    发现,配置扫描的时候,没有排除@controller 层的过滤器

    修改后,问题解决,如下:

    在springmvc的配置文件配置扫描:

      <context:component-scan base-package="com.winning.joiner.magiccube">
            <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
            <context:include-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/>
        </context:component-scan>

    在spring context的配置扫描:

      <context:component-scan base-package="com.winning.joiner.magiccube">
            <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
            <context:exclude-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/>
        </context:component-scan>

    两个文件配合配置,才能解决实例化两次的问题。

    简单点说,就是springmvc扫描的包,扫描包含@Controller注解的类。

    而spring context 的扫描包,就要包包含@Controller的注解的类排除掉,这样才会在spring整个大工厂中,存在一个实例。

  • 相关阅读:
    jquery
    为什么用bower 安装bootstrap而不用npm来安装?
    Grunt 入门操作指南
    微信页面识别二维码非常不灵敏 而且识别的位置偏移 的解决方案
    osx安装sass
    sass安装和语法
    ES6新特性概述
    link-hover-visited-active
    css HACK
    CSS3文本溢出显示省略号
  • 原文地址:https://www.cnblogs.com/sloveling/p/spirngmvc_instance.html
Copyright © 2011-2022 走看看