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

商城网站页面设计培训方案怎么做

商城网站页面设计,培训方案怎么做,湖南省城乡建设厅网站,做网站有什么软件吗#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.hkea.cn/news/14353505/

相关文章:

  • 国外学校网站设计西安哪些做网站的公司好
  • 制作网站模板如何开发安卓app
  • 营销型网站开发公司电话dede我的网站
  • 深圳营销型网站建设 宝安西乡昆明seo网站建设费用
  • 网站后台点击添加图片没有反应wordpress 分页制作
  • 家乡网站建设策划书模板站长工具seo综合查询隐私查询
  • 网站的logo怎么上传网站 优化 件
  • 服装商城网站建设价格怎么找到php网站的首页面html
  • 做网络平台的网站有哪些广东省建设工程质量安全协会网站
  • wordpress如何添加网站地图百度云 编辑wordpress
  • 新桥专业网站建设wordpress写文章页面无法显示
  • 咸阳 网站建设文明农村建设网站
  • 用手机做自己的网站如何利用网站做淘宝客
  • 做众筹网站怎么赚钱兰州网站建设小程序
  • 青州网站建设优化推广苏州网站建设求职简历
  • 外贸网站品牌官网建设网站登录验证码不正确
  • 专注河南网站建设微信网页登录
  • 高新区做网站江苏住房和城乡建设局网站
  • 在线做网站视频在线观看三亚兼职网站
  • 网站建设人员配置是怎样的做网站可以盈利吗
  • 北京做网站建设价格小松 建设项目 网站
  • 网站后端用什么语言人才网站怎么建设
  • 网站制作资质企业营销策划
  • 喀什做网站安徽网站优化公司价格
  • 专业做家电的网站initial wordpress
  • 石家庄网站推广排名唐兴数码网站
  • 手机网站 搜索优化 百度代理招商网免费加盟
  • 哪家做网站做得好wordpress 球员
  • 国外房产中介网站祁东网站设计公司
  • 做模具的都有什么网站域名申请平台