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

将网站加入小程序wordpress分类的id

将网站加入小程序,wordpress分类的id,免费申请域名的方法和流程,建设厂招工信息网站#x1f9f8;安清h#xff1a;个人主页 #x1f3a5;个人专栏#xff1a;【计算机网络】【Mybatis篇】【Spring篇】 #x1f6a6;作者简介#xff1a;一个有趣爱睡觉的intp#xff0c;期待和更多人分享自己所学知识的真诚大学生。 目录 #x1f3af;初始Sprig AOP及…   安清h个人主页 个人专栏【计算机网络】【Mybatis篇】【Spring篇】 作者简介一个有趣爱睡觉的intp期待和更多人分享自己所学知识的真诚大学生。  目录 初始Sprig AOP及术语 基于XML的AOP实现 配置Spring AOP的XML元素 ✨配置切面 ✨配置切入点 示例 ✨创建UserDao类 ✨创建UserDaoImpl类 ✨创建XmlAdvice类 ✨applicationContext-xml.xml文件 ✨创建测试类 基于注解的AOP实现 Spring提供的注解 代码示例 ✨创建UserDao类 ✨创建UserDaoImpl类 ✨创建AnnoAdvice类 ✨applicationConext.xml文件 ✨创建测试类 初始Sprig AOP及术语 Spring AOPAspect-Oriented Programming面向切面编程是Spring框架中的一个核心模块它允许开发者将横切关注点如日志、事务管理、安全等从业务逻辑中分离出来以提高代码的模块化和可重用性。以下是一些Spring AOP中常用的术语根据例子来展示其用法 LogUtils中的printLog()方法用来输出日志 需求针对UserService的save和delete方法做日志输出的增强 Join Point连接点能够被增强的叫做连接点。特指的是类中的方法以上四个任何一个方法都可以被叫做连接点 Pointcut切入点将要被增强的方法。一个切入点一定是一个连接点但是一个连接点并不一定是一个切入点。在例子中save()和delete()为切入点。 Advice增强/通知将要增强的功能所在的方法。例子中由于要对save和delete方法做日志的增强所以printLog方法叫做增强advice。 Aspect切面用来配置切入点和增强关系的。 Target 目标对象指的是将要被增强的方法所在的对象。例子中UserService对象就是Target对象。 Weaving织入将增强运用到切入点的过程叫做织入。 Proxy代理将增强运用到切入点之后形成的对象叫做代理对象。 基于XML的AOP实现 Spring中AOP的代理对象是由IOC容器自动生成所以开发者只需选择选择连接点创建切面定义切点并在XML中添加配置信息即可。Spring提供了一系列配置Spring AOP的XML元素。 AOP配置在切面中配置切入点和增强的关系 配置Spring AOP的XML元素 元素描述aop:configSpring AOP配置的根元素aop:aspect配置切面aop:pointcut配置切入点aop:before定义一个前置通知aop:after定义一个后置通知aop:after-returning定义一个返回后通知aop:around定义一个环绕通知 ✨配置切面 在定义aop:aspect元素时通常会指定idref这两个属性。 属性名称描述id用于定义切面的唯一标识切面起的名字可以不设置ref用于引用普通的Spring Bean引用的切面类对象bean的id值 ✨配置切入点 在定义aop:pointcut元素时通常会指定idexpression这两个属性。 属性名称描述id用于指定切入点的唯一标识expression用于指定切入点关联的切入点的表达式 示例 ✨创建UserDao类 定义了用户数据操作的接口包括增删改查四个方法。 public interface UserDao {public void insert();public void delete();public void update();public void select(); } ✨创建UserDaoImpl类 实现了UserDao接口具体执行数据库操作的打印语句。 public class UserDaoImpl implements UserDao{Overridepublic void insert() {System.out.println(添加用户信息);}Overridepublic void delete() {System.out.println(删除用户信息);}Overridepublic void update() {System.out.println(修改用户信息);}Overridepublic void select() {System.out.println(查询用户信息);} } ✨创建XmlAdvice类 定义了AOP切面包含前置、后置、环绕、返回和异常通知方法。 public class XmlAdvice {// 前置通知public void before(JoinPoint joinPoint) {System.out.println(这是前置方法);System.out.println(目标类是 joinPoint.getTarget());System.out.println(被织入增强处理的目标方法为 joinPoint.getSignature().getName());}// 返回通知public void afterReturning(JoinPoint joinPoint) {System.out.println(这是返回通知方法不出现异常时调用);System.out.println(被织入增强处理的目标方法为 joinPoint.getSignature().getName());}// 环绕通知public Object around(ProceedingJoinPoint point) throws Throwable {System.out.println(这是环绕之前的通知);Object object point.proceed();System.out.println(这是环绕之后的通知);return object;}// 异常通知public void afterException() {System.out.println(异常通知!);}// 后置通知public void after() {System.out.println(这是后置通知);} }✨applicationContext-xml.xml文件 Spring配置文件配置了数据源、事务管理器、UserDaoImpl和XmlAdvice的Bean并定义了AOP的切点和通知。 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:aophttp://www.springframework.org/schema/aopxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/contextxsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdaop:aspectj-autoproxy/context:component-scan base-packagecom.xml/bean iduserDao classcom.xml.UserDaoImpl/bean idxmlAdvice classcom.xml.XmlAdvice/aop:configaop:pointcut idpointcut expressionexecution(* com.xml.UserDaoImpl.*(..))/aop:aspect refxmlAdviceaop:before methodbefore pointcut-refpointcut/aop:after-returning methodafterReturning pointcut-refpointcut/aop:around methodaround pointcut-refpointcut/aop:after-throwing methodafterException pointcut-refpointcut/aop:after methodafter pointcut-refpointcut//aop:aspect/aop:config /beans ✨创建测试类 测试类通过Spring容器获取UserDao的Bean并调用其方法来验证AOP功能是否正常工作。 public class TestXml {public static void main(String[] args) {ApplicationContext applicationContext new ClassPathXmlApplicationContext(applicationContext-xml.xml);UserDao userDao applicationContext.getBean(userDao, UserDao.class);userDao.delete();System.out.println();userDao.insert();System.out.println();userDao.select();System.out.println();userDao.update();} }这是部分运行出来的结果由于过长所以在这里只截取了delete部分的作为参考 基于注解的AOP实现 Spring提供的注解 注解名称描述Aspect配置切面Pointcut配置切入点Before配置前置通知After配置后置通知Around配置环绕通知AfterReturning配置返回通知AfterThrowing配置异常通知 下面将通过一个示例来展现 代码示例 ✨创建UserDao类 声明用户数据操作的接口 public interface UserDao {public void insert();public void delete();public void update();public void select(); } ✨创建UserDaoImpl类 实现UserDao接口标注为Spring管理的Bean并定义基本的数据库操作打印语句。 Component(userDao) public class UserDaoImpl implements UserDao{Overridepublic void insert() {System.out.println(添加用户信息);}Overridepublic void delete() {System.out.println(删除用户信息);}Overridepublic void update() {System.out.println(修改用户信息);}Overridepublic void select() {System.out.println(查询用户信息);} }✨创建AnnoAdvice类 定义切面包括前置、后置、环绕、返回和异常通知用于增强UserDaoImpl类的方法 Aspect //告诉Spring这个东西是用来做AOP的 public class AnnoAdvice {//切点Pointcut(execution(* com.xml.UserDaoImpl.*(..)))public void pointcut(){}//前置通知Before(pointcut()) //切入点和通知的绑定public void before(JoinPoint joinPoint){System.out.println(这是前置通知);System.out.println(目标类是joinPoint.getTarget());System.out.println(被织入增强处理的目标方法为joinPoint.getSignature().getName());}//返回通知AfterReturning(pointcut())public void afterReturning(JoinPoint joinPoint){System.out.println(这是返回通知);System.out.println(被织入增强处理的目标方法为joinPoint.getSignature().getName());}//环绕通知Around(pointcut())public Object around(ProceedingJoinPoint point) throws Throwable {System.out.println(这是环绕通知之前的部分);Object objectpoint.proceed();System.out.println(这是环绕通知之后的部分);return object;}//异常通知AfterThrowing(pointcut())public void afterException(){System.out.println(这是异常通知);}//后置通知After(pointcut())public void after(){System.out.println(这是后置通知);} } ✨applicationConext.xml文件 配置Spring的AOP命名空间、组件扫描和切面相关的Bean定义 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:aophttp://www.springframework.org/schema/aopxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/contextxsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsdaop:aspectj-autoproxy/context:component-scan base-packagecom.xml/bean idannoAdvice classcom.xml.AnnoAdvice/ /beans ✨创建测试类 通过Spring容器获取UserDao的Bean并调用其方法预期将触发AnnoAdvice中定义的AOP通知 public class TestAnnotation {public static void main(String[]args){ApplicationContext applicationContextnew ClassPathXmlApplicationContext(applicationContext.xml);UserDao userDaoapplicationContext.getBean(userDao, UserDao.class);userDao.delete();System.out.println();userDao.insert();System.out.println();userDao.select();System.out.println();userDao.update();} } 以上就是今天要讲的内容了主要讲解了Spring AOP的术语及其两种实现方式等相关内容如果您感兴趣的话可以订阅我的相关专栏。非常感谢您的阅读如果这篇文章对您有帮助那将是我的荣幸。我们下期再见啦
http://www.pierceye.com/news/253659/

相关文章:

  • 网站备案登记表网站建设及规划
  • 彩票网站建设平台wordpress模板怎么改织梦
  • 商业中心 网站建设怎么创建自己的官网
  • 中国建设银行总行官方网站宁波网站推广渠道
  • 网站备案的网站名称分类信息网址
  • 教育类网站建站jae安装wordpress
  • wordpress自定义站点设计网站广告语
  • 广告型网站怎么做的网络技术学习网站
  • 网站建设公司不赚钱进一步推进网站建设
  • 四川省工程建设协会网站360路由器网站建设
  • 快云服务器怎么做网站360网站收录提交入口大全
  • 网站设计的安全尺寸正规的培训行业网站开发
  • 网站提交了被收录后改怎么做商丘网站制作教程
  • 建网站被封了网站建设网页设计小江
  • 用node做的网站索引网站有哪些
  • 无锡设计网站建设时尚杂志网站设计分析
  • 嘉定区网站建设网站建设怎么谈
  • 网站开发 毕业设计如何做网站app
  • 优惠券网站开发谷歌seo搜索引擎下载
  • 安徽省建设工程资料上传网站重庆相亲网
  • 河南建设网站官网中英文公司网站
  • 手机版网站如何建设会议响应式网站开发
  • 肇庆住房建设部网站国外专门做旅游攻略的网站
  • 网站如何设置长尾词静态网站开发一体化课程
  • 学校网站建设流程做网站用哪个工具
  • 网站开发工作室策划案域名的价格
  • 郑州艾特网站建设公司互联网保险图片
  • 网站后台任务网站设计建设一般多少钱
  • 电子商务网站设计的基本流程创业商机网农村
  • 公司网站建设的费用如何入账毕节网站开发公司电话