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

便捷网站建设哪家好WordPress添加PHP代码

便捷网站建设哪家好,WordPress添加PHP代码,wordpress pdf 在线读,济南网站制作策划一、什么是AOP#xff1f;在不修改源代码的情况下 增加功能二、底层是什么#xff1f;动态代理aop是IOC的一个扩展功能#xff0c;现有IOC#xff0c;再有AOP#xff0c;只是在IOC的整个流程中新增的一个扩展点而已#xff1a;BeanPostProcessorbean的创建过程中有一个步…一、什么是AOP在不修改源代码的情况下 增加功能二、底层是什么动态代理aop是IOC的一个扩展功能现有IOC再有AOP只是在IOC的整个流程中新增的一个扩展点而已BeanPostProcessorbean的创建过程中有一个步骤可以对bean进行扩展实现AOP本身就是一个扩展功能所以BeanPostProcessor的后置处理方法来进行实现三、术语①、连接点在一个类里面哪些方法可以被增强这些方法就称为连接点②、切入点实际被真正增强的方法称为切入点③、通知增强实际增强的逻辑部分称为通知增强通知有多种类型前置通知后置通知环绕通知异常通知最终通知④、切面把通知应用到切入点的过程四、AOP操作Spring框架一般都是基于AspectJ实现AOP操作什么是AspectJ不是Spring组成部分独立AOP框架一般把AspectJ和Spring框架一起使用进行AOP操作基于AspectJ实现AOP操作基于xml配置方式基于注解方式一、注解方式引入AOP依赖开启注解扫描开启Aspect生成代理对象 User类package com.atguigu.spring5.AOP;import org.springframework.stereotype.Component;/*** BelongsProject: 02-Spring* BelongsPackage: com.atguigu.spring5.AOP* Author: dengLiMei* CreateTime: 2023-02-11 19:54* Description: TODO* Version: 1.0*/ //被增强类 Component public class User {public void add() {System.out.println(add……);} }UserProxy类package com.atguigu.spring5.AOP;import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.*; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component;/*** BelongsProject: 02-Spring* BelongsPackage: com.atguigu.spring5.AOP* Author: dengLiMei* CreateTime: 2023-02-11 19:55* Description: TODO* Version: 1.0*/ //增强的类 Component Aspect //生成代理对象 public class UserProxy {//前置通知//Before注解表示作为前置通知Before(value execution(* com.atguigu.spring5.AOP.User.add()))public void before() {System.out.println(before.....);}//最终通知方法之后就执行有异常也执行After(value execution(* com.atguigu.spring5.AOP.User.add()))public void After() {System.out.println(After.....);}//后置通知返回通知在返回结果之后执行有异常不执行AfterReturning(value execution(* com.atguigu.spring5.AOP.User.add()))public void AfterReturning() {System.out.println(AfterReturning.....);}//异常通知有异常了才执行没异常不执行AfterThrowing(value execution(* com.atguigu.spring5.AOP.User.add()))public void AfterThrowing() {System.out.println(AfterThrowing.....);}//环绕通知//表示在方法之前和方法之后都执行Around(value execution(* com.atguigu.spring5.AOP.User.add()))public void Around(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {System.out.println(环绕之前.....);//被增强的方法执行proceedingJoinPoint.proceed();System.out.println(环绕之后.....);} }Main类package com.atguigu.spring5.AOP;import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;/*** BelongsProject: 02-Spring* BelongsPackage: com.atguigu.spring5.AOP* Author: dengLiMei* CreateTime: 2023-02-11 20:05* Description: TODO* Version: 1.0*/ public class Main {public static void main(String[] args) {ApplicationContext context new ClassPathXmlApplicationContext(aopbean.xml);User user context.getBean(user, User.class);user.add();} }输出结果问题对指定类的指定方法做增强解决对相同切入点进行抽取PersonProxy类在上面例子基础上增加一个新类package com.atguigu.spring5.AOP;import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.aspectj.lang.annotation.Pointcut; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component;/*** BelongsProject: 02-Spring* BelongsPackage: com.atguigu.spring5.AOP* Author: dengLiMei* CreateTime: 2023-02-11 20:21* Description: TODO* Version: 1.0*/ Component Aspect Order(1) public class PersonProxy {//后置通知返回通知Before(value execution(* com.atguigu.spring5.AOP.User.add(..)))public void afterReturning(){System.out.println(Person Before……);} }输出结果有多个增强类对同一个方法进行增强设置增强类优先级在增强类上面增加注解Order数字类型值数字类型值越小优先级越高二、AspectJ配置方式创建对象配置aop增强 切入点配置切面Book类package com.atguigu.spring5.AOP.AOPConfigue;/*** BelongsProject: 02-Spring* BelongsPackage: com.atguigu.spring5.AOP.AOPConfigue* Author: dengLiMei* CreateTime: 2023-02-11 20:38* Description: TODO* Version: 1.0*/ public class Book {public void buy(){System.out.println(买);} }BookProxy类package com.atguigu.spring5.AOP.AOPConfigue;/*** BelongsProject: 02-Spring* BelongsPackage: com.atguigu.spring5.AOP.AOPConfigue* Author: dengLiMei* CreateTime: 2023-02-11 20:40* Description: TODO* Version: 1.0*/ public class BookProxy {public void before(){System.out.println(before……);} }Main类package com.atguigu.spring5.AOP.AOPConfigue;import com.atguigu.spring5.AOP.AOPAnnotation.User; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;/*** BelongsProject: 02-Spring* BelongsPackage: com.atguigu.spring5.AOP.AOPConfigue* Author: dengLiMei* CreateTime: 2023-02-11 20:44* Description: TODO* Version: 1.0*/ public class Main {public static void main(String[] args) {ApplicationContext context new ClassPathXmlApplicationContext(aopbean2.xml);Book book context.getBean(book, Book.class);book.buy();} }输出结果 Spring系列文章Spring——是什么作用内容用到的设计模式Spring——Bean管理-xml方式进行属性注入Spring——Bean管理-注解方式进行属性注入Spring——什么是IOCSpring——AOP是什么?如何使用Spring——什么是事务传播行为事务隔离级别有哪些Spring——整合junit4、junit5使用方法如果有想要交流的内容欢迎在评论区进行留言如果这篇文档受到了您的喜欢那就留下你点赞收藏脚印支持一下博主~
http://www.hkea.cn/news/14338879/

相关文章:

  • 网站免费软件推荐wordpress外国人留言
  • 个人网站 怎么设计共享网站的建设与规划
  • 潍坊知名网站建设服务商网站快排是怎么做的
  • wordpress 图片站网站建设销售技巧和话术
  • 做公众号策划的网站徐州建设工程招投标官方网站
  • 哪些网站可以做兼职设计苏州网站设计公司有哪些
  • 吾爱网站网站建设 验收意见
  • 丰城住房和城乡建设部网站商务型网站建设
  • 网站建设实训报告样板快速一体化网站建设
  • 飞浪网站建设个人投资公司注册条件
  • 专注赣州网站建设用户体验 网站 外国
  • 百度站长工具有哪些网站后台的编辑器不显示
  • 有口碑的坪山网站建设珠海网站建设 旭洁科技
  • 如何建设一个读书的网站怎么注册公司要多少钱
  • 网站界面是什么做的福步外贸网
  • 如何进行网页设计和网站制作做搜狗手机网站优化快
  • 创立个网站专业卖手机企业邮箱登录
  • asp网站建设实验设计外贸开发网站开发
  • 网站管理主要包括哪些内容女装电子商务网站建设
  • 如何设计公司网站河南省建设培训中心网站
  • 网站建设设计广州陕西住房和城乡建设网站
  • 个人网站一定要备案吗运营的网站
  • 做的网站为什么图片看不了怎么回事做网站 视频
  • 企业网站建设的优势太原那有网站设计公司
  • 济宁网站优化公司自己想做网站怎么做
  • 做电商的进货网站专业网站定制平台
  • 网站的关键词策略跨境电商怎么注册
  • 网站建设的关键问题东莞厚街劳务事件
  • 国外互联网科技网站公司就我一个网站制作
  • 网站怎么建google 网站突然一条收录也没有