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

盐城市网站建设_网站建设公司_Node.js_seo优化

网站建设的定位是什么,2022年seo还值得做吗,wordpress手机版受钱吗,淘宝客做网站JDK 动态代理是通过 JDK 中的 java.lang.reflect.Proxy 类实现的。下面通过具体的案例演示 JDK 动态代理的使用。 1. 创建项目 在 MyEclipse 中创建一个名称为 spring 的 Web 项目#xff0c;将 Spring 支持和依赖的 JAR 包复制到 Web 项目的 WEB-INF/lib 目录中#xff0c;…JDK 动态代理是通过 JDK 中的 java.lang.reflect.Proxy 类实现的。下面通过具体的案例演示 JDK 动态代理的使用。 1. 创建项目 在 MyEclipse 中创建一个名称为 spring 的 Web 项目将 Spring 支持和依赖的 JAR 包复制到 Web 项目的 WEB-INF/lib 目录中并发布到类路径下。 2. 创建接口 CustomerDao 在项目的 src 目录下创建一个名为 com.mengma.dao 的包在该包下创建一个 CustomerDao 接口编辑后如下所示。 package com.mengma.dao;public interface CustomerDao {public void add(); // 添加public void update(); // 修改public void delete(); // 删除public void find(); // 查询 }3. 创建实现类 CustomerDaoImpl 在 com.mengma.dao 包下创建 CustomerDao 接口的实现类 CustomerDaoImpl并实现该接口中的所有方法如下所示。 package com.mengma.dao; public class CustomerDaoImpl implements CustomerDao {Overridepublic void add() {System.out.println(添加客户...);}Overridepublic void update() {System.out.println(修改客户...);}Overridepublic void delete() {System.out.println(删除客户...);}Overridepublic void find() {System.out.println(修改客户...);} }4. 创建切面类 MyAspect 在 src 目录下创建一个名为 com.mengma.jdk 的包在该包下创建一个切面类 MyAspect编辑后如下所示。 package com.mengma.jdk;public class MyAspect {public void myBefore() {System.out.println(方法执行之前);}public void myAfter() {System.out.println(方法执行之后);} }上述代码中在切面中定义了两个增强的方法分别为 myBefore() 方法和 myAfter() 方法用于对目标类CustomerDaoImpl进行增强。 5. 创建代理类 MyBeanFactory 在 com.mengma.jdk 包下创建一个名为 MyBeanFactory 的类在该类中使用 java.lang.reflect.Proxy 实现 JDK 动态代理如下所示。 package com.mengma.jdk;import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy;import com.mengma.dao.CustomerDao; import com.mengma.dao.CustomerDaoImpl;public class MyBeanFactory {public static CustomerDao getBean() {// 准备目标类final CustomerDao customerDao new CustomerDaoImpl();// 创建切面类实例final MyAspect myAspect new MyAspect();// 使用代理类进行增强return (CustomerDao) Proxy.newProxyInstance(MyBeanFactory.class.getClassLoader(),new Class[] { CustomerDao.class }, new InvocationHandler() {public Object invoke(Object proxy, Method method,Object[] args) throws Throwable {myAspect.myBefore(); // 前增强Object obj method.invoke(customerDao, args);myAspect.myAfter(); // 后增强return obj;}});} }上述代码中定义了一个静态的 getBean() 方法这里模拟 Spring 框架的 IoC 思想通过调用 getBean() 方法创建实例第 14 行代码创建了 customerDao 实例。 在目标类方法执行的前后分别执行切面类中的 myBefore() 方法和 myAfter() 方法。 6. 创建测试类 JDKProxyTest 在 com.mengma.jdk 包下创建一个名为 JDKProxyTest 的测试类如下所示。 package com.mengma.jdk;import org.junit.Test; import com.mengma.dao.CustomerDao;public class JDKProxyTest {Testpublic void test() {// 从工厂获得指定的内容相当于spring获得但此内容时代理对象CustomerDao customerDao MyBeanFactory.getBean();// 执行方法customerDao.add();customerDao.update();customerDao.delete();customerDao.find();} }上述代码中在调用 getBean() 方法时获取的是 CustomerDao 类的代理对象然后调用了该对象中的方法。 7. 运行项目并查看结果 使用 JUnit 测试运行 test() 方法运行成功后控制台的输出结果如下图所示。 从输出结果中可以看出在调用目标类的方法前后成功调用了增强的代码由此说明JDK 动态代理已经实现。
http://www.lebaoying.cn/news/42683.html

相关文章:

  • 旅游项目网站开发专门做潮搭的网站
  • 外包服务网站排名网站建设人员分布
  • 高端网站建设的流程是什么网站排名优化效果
  • 果洛州网站建设公司php做网站参考文献
  • 提供营销单页网站视频网站如何做引流
  • 网站建设人员春招计划上海人才网官网招聘人力资源专业
  • 单页网站上传教程视频wordpress太卡了
  • 10大设计师网站物业管理系统有哪些模块
  • 网站运营知识wordpress 归档 如何使用
  • easyui 做的网站wordpress注册表单插件
  • 广东微信网站推广哪家专业wordpress 搜索 排除分类
  • 网站口碑推广娄底网站建设建站
  • 提升网站打开速度怎么做网站建设酷万网络
  • cpa诱导网站怎么做大淘客网站怎么做
  • 创建一个行业网站多少钱WordPress任务发布插件
  • 网站外链接自己可以怎么做保险公司网站
  • 保定专业做网站网站开发模块查相似
  • 网站建设实训心得php黑龙江门户网站建设
  • 网络营销做女鞋的网站设计wordpress用户发文
  • 有做货 物的网站吗建筑企业招聘网站
  • 广州企业网站设计wordpress安装时英文版
  • wordpress怎么制作网站主页seo的中文含义是什么意思
  • 找人给公司做网站去哪找wordpress栏目链接地址
  • 天津市建设监理协会网站赣州微和联网络科技有限公司
  • 网站防止恶意注册嘉兴网站平台建设
  • 绵阳网站建设优化seo教程最新
  • wap建站后只能访问首页换友链的网站
  • 廊坊网站群发关键词4399小游戏在线玩网页版
  • 百度竞价代运营济南新网站优化
  • 公司英文网站做网站常用哪种语言