spring component-scan扫描配置的小疑惑
<context:component-scan base-package="com.xxx.**.web.controller"/>
spring中这样扫描包,
问1: 其中的** 代表几级目录? 是两级目录? 还是 多级目录? 还是都可以?
问2: 用 .. 代替 ** ,
<context:component-scan base-package="com.guohualife..web.controller"/>
这样配置, 中间代表的是几级目录?
------解决方案--------------------两个**代表一级或者多级目录。一个*代表文件。点和*应该是一样的效果
------解决方案--------------------同意楼上的。
------解决方案--------------------
你这里的配置 :execution(* com.xxx..service.*.*(..))
表示的是xxx包或者其子包下的service包中所有类的所有带任何个数参数的方法;
其中:
1、com.xxx..service 表示的是:xxx包或者其子包下的service包;
2、(..)这个不是目录设置,而是方法的配置,表示的是:匹配了接受任意数量参数的方法(零或者更多参数),如果配置的是:(*)就表示 方法接收一个参数,此参数是任意类型的;
3、service.*.*表示的是:service包下任意类的任意方法;