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" />即可。

  • 相关阅读:
    蓝牙低功耗(Bluetooth Low Energy)
    Android 蓝牙(概述)
    Android 学习笔记之 Activity 简介
    Android 学习笔记之常用控件
    Android 学习笔记之界面布局
    委托和事件(C#)
    Java 资源汇总
    如何阅读英文原版教材
    Combobox 控件绑定数据
    《将博客搬至CSDN》
  • 原文地址:https://www.cnblogs.com/zj9527/p/5997510.html
Copyright © 2011-2022 走看看