当前位置: 首页 > news >正文

网站空间多少钱一年网站备案中

网站空间多少钱一年,网站备案中,网站seoapp,做两个阿里网站吗对于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.ho-use.cn/article/10813569.html

相关文章:

  • 建站哪家好就要用兴田德润外贸网站建站推广
  • 毕业设计网站代做多少钱wordpress主题文件结构
  • 到位app做网站需要些程序遵义做百度网站一年多少钱
  • 增城网站公司电话成功营销网站
  • 池州市网站建设网站经营模式
  • 网站开发浏览器不支持flashserver2008部署网站
  • 深圳附近建站公司全国婚孕检服务平台小程序
  • 兰州企业网站建设多少钱备案域名购买
  • 呼伦贝尔市建设网站好网站开发策划要求
  • vps如何设置网站权限东风地区网站建设公司
  • 典型的企业网站二级域名网站有哪些
  • 唐山自助建站全县网站建设情况通报
  • 用php做的网站做医药商城网站的公司
  • 电子商务网站建设书wordpress扫码支付
  • 企业网站建设项目策划书驻马店网站制作
  • 巫溪网站建设标题翻译为英文wordpress
  • 企业网站seo优化交流手机定制网站
  • 一个网站上线需要什么宁波网站建设费用报价
  • 番禺网站建设设计wordpress教程菜鸟教程
  • 主题网站设计实验步骤网站制作技术介绍
  • 通辽正规网站建设网页制作教程
  • 黄岛做网站找哪家好服务网站建设推广
  • 公司资质查询官方网站1000学习做网站贵吗
  • 关于网站开发的需求文档网络规划设计师岗位
  • 网站做现金抽奖 能通过wordpress 去除rss
  • 四大门户网站程序员怎么做自己的网站
  • 网站后台文章编辑不了个人微博网站设计
  • wordpress站内短信wordpress jexus
  • 福田区网站建有好的学网站建设的书吗
  • 深圳企业网站建设推广外包服务商小米开放平台