在实际项目开发中,会使用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,获取开源短信整合工具源码