@MapperScan扫描任意包,@PointCut扫描任意包

在实际项目开发中,会使用Mybatis和Spring AOP功能,在这个两个里面都会涉及到扫描项目包,有时是放在多个不同的目录下,因此配置时,需要指定多个配置。例如:

// 扫描某个包
@MapperScan("com.xxx.xxx.dao")
//扫描多个包
@MapperScan({"com.aaa.xxx.dao","com.bbb.xxx.dao"})

@PointCut使用时

// 扫描某个包
@PonitCut("excution(public * com.xxx.xxx.controller.*.*(..)")

在使用时配置非常的不方便,因此有必要去实现一个配置扫描任意路径的配置。

配置示例

@MapperScan

// 扫描任意包
@MapperScan("com.xxx.xxx.**.dao")

@PointCut

// 扫描任意包
@PonitCut("excution(public * com.xxx.xxx..*.controller.*.*(..)")

特别要注意的是: 两者的区别,@MapperScan 使用的是两个星星,而@PointCut使用的是两个点点
@MapperScan使用是的Spring的解析方式,这个包名com.xxx.xxx.**.dao会最终被替换为classpath*:com\xxx\xxx\*\dao\*\*.class
@PointCut是规定两个点点代表当前包以及当前包的子包。

总结

学会这两个注解配置任意包之后,可以将配置文件或者配置类放在一个公共的地方,需要的时候,直接复制出来只需要改一点点内容即可完成相应的配置。不仅提高了编程的效率,同时也可以更好的玩耍。

转载请注明出处 jackieonway
扫描下方二维码关注"JackieOnWay"微信公众号,回复SMS,获取开源短信整合工具源码

jackieonway.png

你可能感兴趣的:(@MapperScan扫描任意包,@PointCut扫描任意包)