.*Dao和*Dao的区别

来源:4-2 Spring的传统AOP的基于Bean名称的自动代理

wryu

2018-11-25 21:43:14

前面有一节课在pattern下面使用的是.*Save,而在这一节课.*Dao却不能识别,是因为正则表达式和通配符不是同一个东西吗

写回答

2回答

好帮手慕阿莹

2018-11-27

并不会的:.*和.*Dao 能匹配的是 例如 com.imooc.StudentDao, 但是不能匹配 StudentDao。

也就是说,.*和.*Dao能拦截带点的。

.*能拦截点后边所有的,例如:imooc.Student,imooc.StudentDao.update

而.*Dao只能拦截带点的,并且点后边还是叫某某Dao的。例如:imooc.StudentDao

而*Dao 就是拦截叫某某Dao的。例如UserDao,StudentDao

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!


1

好帮手慕珊

2018-11-26

你好!这里的*Dao是匹配bean的id值的,现在的bean的id定义为studentDao和customerDao,是*Dao的形式。这里的*匹配Dao前面的多个字符

http://img.mukewang.com/climg/5bfb86d400013c0c10430357.jpg

你说的pattern是下面的内容吗?*是代表任意次数,.代表任意字符,所以.*代表的是所有方法。两个*的意义不同。

http://img.mukewang.com/climg/5bfb87f5000103d907060147.jpg

祝学习愉快!

0
hryu
h 如果按照正则表达式的规则,.*和.*Dao都应该能匹配UserDao吧
h018-11-26
共1条回复

0 学习 · 4317 问题

查看课程