zoukankan      html  css  js  c++  java
  • spring包扫描问题

      最近做项目时发现一个spring包扫描问题,项目中使用spring、springMVC、mybatis框架,因为整个项目是按模块来分布式开发,最终将各个模块整合在一起,但是整合时发现有些模块的service层和controller层包没有扫描到。

      举个例子:A模块的service层包为 com.project.A.service,B模块的service层的包为com.project.base.B.service;在spring的配置文件里包扫描器的配置为:

    <context:component-scan base-package="com.project.*.service" />,但结果发现这么写扫描包并没有扫描到B模块的service层,后来特意查阅了一下*号通配符在包路径中的含义。

       “*”:匹配零个或多个字符串,如“cn/*/config.xml”将匹配“cn/javass/config.xml”,但不匹配匹配“cn/config.xml”和“cn/javass/test/config.xml”;而“cn/config-*.xml”将匹配“cn/config-dao.xml”; 

       “**”:匹配路径中的零个或多个目录,如“cn/**/config.xml”将匹配“cn /config.xml”,也匹配“cn/javass/spring/config.xml”;而“cn/javass/config-**.xml”将匹配“cn/javass/config-dao.xml”,即把“**”当做两个“*”处理。

      所以,一个*号并不能匹配多个目录,上面的问题解决方法为:将包扫描器配置改为<context:component-scan base-package="com.project.**.service" />即可。

  • 相关阅读:
    微信小程序-默认选中状态
    微信小程序-翻页(优化)
    openLayers3 中实现多个Overlay
    2月的最后一天
    2月27日
    杂记--写于狂风乱作的夜晚
    安装部署程序
    superMap Object 属性查看的一点代码
    坚持不懈的学习吧,少年
    Windows API中几个函数的总结
  • 原文地址:https://www.cnblogs.com/zj9527/p/5997510.html
Copyright © 2011-2022 走看看