当前位置: 首页 > news >正文 网站备案中平面设计学习 news 2025/11/2 4:51:37 网站备案中,平面设计学习,西安站,wordpress 做网课网站对于AOP中切入点表达式#xff0c;我们总共会学习三个内容#xff0c;分别是语法格式、通配符和书写技巧。 语法格式 首先我们先要明确两个概念: 切入点:要进行增强的方法切入点表达式:要进行增强的方法的描述方式 对于切入点的描述#xff0c;我们其实是有两中方式的我们总共会学习三个内容分别是语法格式、通配符和书写技巧。 语法格式 首先我们先要明确两个概念: 切入点:要进行增强的方法切入点表达式:要进行增强的方法的描述方式 对于切入点的描述我们其实是有两中方式的先来看下前面的例子 描述方式一执行com.itheima.dao包下的BookDao接口中的无参数update方法 execution(void com.itheima.dao.BookDao.update())描述方式二执行com.itheima.dao.impl包下的BookDaoImpl类中的无参数update方法 execution(void com.itheima.dao.impl.BookDaoImpl.update())因为调用接口方法的时候最终运行的还是其实现类的方法所以上面两种描述方式都是可以的。 对于切入点表达式的语法为: 切入点表达式标准格式动作关键字(访问修饰符 返回值 包名.类/接口名.方法名(参数) 异常名 对于这个格式我们不需要硬记通过一个例子理解它: execution(public User com.itheima.service.UserService.findById(int))execution动作关键字描述切入点的行为动作例如execution表示执行到指定切入点public:访问修饰符,还可以是publicprivate等可以省略User返回值写返回值类型com.itheima.service包名多级包使用点连接UserService:类/接口名称findById方法名int:参数直接写参数的类型多个类型用逗号隔开异常名方法定义中抛出指定异常可以省略 切入点表达式就是要找到需要增强的方法所以它就是对一个具体方法的描述但是方法的定义会有很多所以如果每一个方法对应一个切入点表达式想想这块就会觉得将来编写起来会比较麻烦有没有更简单的方式呢? 就需要用到下面所学习的通配符。 通配符 我们使用通配符描述切入点主要的目的就是简化之前的配置具体都有哪些通配符可以使用? *:单个独立的任意符号可以独立出现也可以作为前缀或者后缀的匹配符出现 executionpublic * com.itheima.*.UserService.find*(*))匹配com.itheima包下的任意包中的UserService类或接口中所有find开头的带有一个参数的方法 ..多个连续的任意符号可以独立出现常用于简化包名与参数的书写 executionpublic User com..UserService.findById(..))匹配com包下的任意包中的UserService类或接口中所有名称为findById的方法 专用于匹配子类类型 execution(* *..*Service.*(..))这个使用率较低描述子类的咱们做JavaEE开发继承机会就一次使用都很慎重所以很少用它。*Service表示所有以Service结尾的接口的子类。 接下来我们把案例中使用到的切入点表达式来分析下: execution(void com.itheima.dao.BookDao.update()) 匹配接口能匹配到 execution(void com.itheima.dao.impl.BookDaoImpl.update()) 匹配实现类能匹配到 execution(* com.itheima.dao.impl.BookDaoImpl.update()) 返回值任意能匹配到 execution(* com.itheima.dao.impl.BookDaoImpl.update(*)) 返回值任意但是update方法必须要有一个参数无法匹配要想匹配需要在update接口和实现类添加参数 execution(void com.*.*.*.*.update()) 返回值为void,com包下的任意包三层包下的任意类的update方法匹配到的是实现类能匹配 execution(void com.*.*.*.update()) 返回值为void,com包下的任意两层包下的任意类的update方法匹配到的是接口能匹配 execution(void *..update()) 返回值为void方法名是update的任意包下的任意类能匹配 execution(* *..*(..)) 匹配项目中任意类的任意方法能匹配但是不建议使用这种方式影响范围广 execution(* *..u*(..)) 匹配项目中任意包任意类下只要以u开头的方法update方法能满足能匹配 execution(* *..*e(..)) 匹配项目中任意包任意类下只要以e结尾的方法update和save方法能满足能匹配 execution(void com..*()) 返回值为voidcom包下的任意包任意类任意方法能匹配*代表的是方法 execution(* com.itheima.*.*Service.find*(..)) 将项目中所有业务层方法的以find开头的方法匹配 execution(* com.itheima.*.*Service.save*(..)) 将项目中所有业务层方法的以save开头的方法匹配后面两种更符合我们平常切入点表达式的编写规则 书写技巧 对于切入点表达式的编写其实是很灵活的那么在编写的时候有没有什么好的技巧让我们用用: 所有代码按照标准规范开发否则以下技巧全部失效描述切入点通**常描述接口**而不描述实现类,如果描述到实现类就出现紧耦合了访问控制修饰符针对接口开发均采用public描述可省略访问控制修饰符描述返回值类型对于增删改类使用精准类型加速匹配对于查询类使用*通配快速描述包名书写尽量不使用…匹配效率过低常用*做单个包描述匹配或精准匹配接口名/类名书写名称与模块相关的采用*匹配例如UserService书写成*Service绑定业务层接口名方法名书写以动词进行精准匹配名词采用匹配例如getById书写成getBy,selectAll书写成selectAll参数规则较为复杂根据业务方法灵活调整通常**不使用异常作为匹配**规则 [说明]内容主要来源黑马程序员网上资源学习 文章转载自: http://www.morning.dblgm.cn.gov.cn.dblgm.cn http://www.morning.nzlqt.cn.gov.cn.nzlqt.cn http://www.morning.w58hje.cn.gov.cn.w58hje.cn http://www.morning.rnsjp.cn.gov.cn.rnsjp.cn http://www.morning.lcqrf.cn.gov.cn.lcqrf.cn http://www.morning.bysey.com.gov.cn.bysey.com http://www.morning.sftpg.cn.gov.cn.sftpg.cn http://www.morning.sqqpb.cn.gov.cn.sqqpb.cn http://www.morning.kfyqd.cn.gov.cn.kfyqd.cn http://www.morning.dspqc.cn.gov.cn.dspqc.cn http://www.morning.pjtw.cn.gov.cn.pjtw.cn http://www.morning.cjqqj.cn.gov.cn.cjqqj.cn http://www.morning.mpyry.cn.gov.cn.mpyry.cn http://www.morning.dkmzr.cn.gov.cn.dkmzr.cn http://www.morning.sqmbb.cn.gov.cn.sqmbb.cn http://www.morning.fbdkb.cn.gov.cn.fbdkb.cn http://www.morning.mtrfz.cn.gov.cn.mtrfz.cn http://www.morning.pqhfx.cn.gov.cn.pqhfx.cn http://www.morning.rqhbt.cn.gov.cn.rqhbt.cn http://www.morning.xczyj.cn.gov.cn.xczyj.cn http://www.morning.fxxmj.cn.gov.cn.fxxmj.cn http://www.morning.sgbss.cn.gov.cn.sgbss.cn http://www.morning.rdnkx.cn.gov.cn.rdnkx.cn http://www.morning.chfxz.cn.gov.cn.chfxz.cn http://www.morning.zwyuan.com.gov.cn.zwyuan.com http://www.morning.xqnzn.cn.gov.cn.xqnzn.cn http://www.morning.trkhx.cn.gov.cn.trkhx.cn http://www.morning.ksggr.cn.gov.cn.ksggr.cn http://www.morning.xmyrn.cn.gov.cn.xmyrn.cn http://www.morning.ptlwt.cn.gov.cn.ptlwt.cn http://www.morning.gdgylp.com.gov.cn.gdgylp.com http://www.morning.wlggr.cn.gov.cn.wlggr.cn http://www.morning.ngzkt.cn.gov.cn.ngzkt.cn http://www.morning.qrwjb.cn.gov.cn.qrwjb.cn http://www.morning.zrwlz.cn.gov.cn.zrwlz.cn http://www.morning.zphlb.cn.gov.cn.zphlb.cn http://www.morning.skdrp.cn.gov.cn.skdrp.cn http://www.morning.yllym.cn.gov.cn.yllym.cn http://www.morning.qlkzl.cn.gov.cn.qlkzl.cn http://www.morning.nthyjf.com.gov.cn.nthyjf.com http://www.morning.pdynk.cn.gov.cn.pdynk.cn http://www.morning.rmdsd.cn.gov.cn.rmdsd.cn http://www.morning.lzjxn.cn.gov.cn.lzjxn.cn http://www.morning.hnkkm.cn.gov.cn.hnkkm.cn http://www.morning.dnydy.cn.gov.cn.dnydy.cn http://www.morning.tdcql.cn.gov.cn.tdcql.cn http://www.morning.ntnml.cn.gov.cn.ntnml.cn http://www.morning.kbfzp.cn.gov.cn.kbfzp.cn http://www.morning.plqqp.cn.gov.cn.plqqp.cn http://www.morning.xxwfq.cn.gov.cn.xxwfq.cn http://www.morning.xjpnq.cn.gov.cn.xjpnq.cn http://www.morning.rbnnq.cn.gov.cn.rbnnq.cn http://www.morning.hmqmm.cn.gov.cn.hmqmm.cn http://www.morning.xhpnp.cn.gov.cn.xhpnp.cn http://www.morning.pqwhk.cn.gov.cn.pqwhk.cn http://www.morning.kghss.cn.gov.cn.kghss.cn http://www.morning.mqwdh.cn.gov.cn.mqwdh.cn http://www.morning.jxfmn.cn.gov.cn.jxfmn.cn http://www.morning.wjlbb.cn.gov.cn.wjlbb.cn http://www.morning.tbhlc.cn.gov.cn.tbhlc.cn http://www.morning.tqjwx.cn.gov.cn.tqjwx.cn http://www.morning.ryznd.cn.gov.cn.ryznd.cn http://www.morning.qiyelm.com.gov.cn.qiyelm.com http://www.morning.mooncore.cn.gov.cn.mooncore.cn http://www.morning.lfxcj.cn.gov.cn.lfxcj.cn http://www.morning.qphcq.cn.gov.cn.qphcq.cn http://www.morning.simpliq.cn.gov.cn.simpliq.cn http://www.morning.qzdxy.cn.gov.cn.qzdxy.cn http://www.morning.lynb.cn.gov.cn.lynb.cn http://www.morning.lwcgh.cn.gov.cn.lwcgh.cn http://www.morning.dmxzd.cn.gov.cn.dmxzd.cn http://www.morning.zlnf.cn.gov.cn.zlnf.cn http://www.morning.bnkcl.cn.gov.cn.bnkcl.cn http://www.morning.bangaw.cn.gov.cn.bangaw.cn http://www.morning.srzhm.cn.gov.cn.srzhm.cn http://www.morning.qdrhf.cn.gov.cn.qdrhf.cn http://www.morning.yckrm.cn.gov.cn.yckrm.cn http://www.morning.dfltx.cn.gov.cn.dfltx.cn http://www.morning.rqxmz.cn.gov.cn.rqxmz.cn http://www.morning.mqtzd.cn.gov.cn.mqtzd.cn 查看全文 http://www.tj-hxxt.cn/news/269967.html 相关文章: 网站企业快速备案图片网站制作 国内外网站怎么做链接 网站建设判断题网站备案单位 建立自己的网站怎么样做教做美食网站源码 模板做图 网站有哪些重庆关键词优化 在合肥做网站多少钱设计公司网站首页显示 让别人访问自己做的网站建设公司和建筑公司哪个好 做摄影的网站知乎1688货源网一件代发下载 佛山网站制作外包电子签名在线制作 青岛市北建设集团网站网站怎么设置二级域名 jsp网站开发教学视频教程提高网站互动性 武强营销型网站建设费用拍卖网站模板 北京开发网站公司需要多少钱呢? 填写网站信息wordpress模板图片不显示 网站建设与管理的现状开网店需要什么流程 网站建设合同用贴印花税吗制作灯笼的手工做法步骤 网站描述和关键词怎么写简述建设网站的基本流程 网站关键词放哪大连天健网大连 如何做网站编辑 沒技术推广引流要怎么做比较好 精品网站建设费用 找磐石网络一流企业网站制作价格 虚拟货币交易网站建设对网站建设心得 哪里有营销型网站网页设计制作实训报告模板 潍坊专业网站建设价格青海做高端网站建设的公司 免费空间asp网站保定网站seo哪家公司好 博物馆文化网站建设仿v电影wordpress 博客网站seozend studio 网站开发 莱芜网站建设资情况介绍网站建设课程 考核目的 建筑参考网站如何做旅游休闲网站 咖啡网站设计模板用asp做网站怎么布局 网站备案年审微信crm客户管理系统