摘要: 我们知道在使用MyBatis开发时,只需要添加DAO接口和对应的映射XML文件,不需要写DAO的实现类,其实底层是通过动态代理实现。 本文将使用前几篇文章的知识点实现一个纯面向接口编程的简单框架,与MyBatis实现DAO实现类相似,主要采用注解、反射、动态代理、工厂模式等。具体功能: 接口添加自定 阅读全文
posted @ 2020-04-12 16:54 水木竹水 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 在前文Java反射(三)反射与代理设计模式 中描述了动态代理的使用方法,本文主要记录Java动态代理的实现原理。 大致思路:(1)用户通过Proxy.newProxyInstance方法,传入ClassLoader、接口数组、和InvocationHandler实现类(包含具体被代理对象和对其具体处 阅读全文
posted @ 2020-04-12 16:07 水木竹水 阅读(679) 评论(0) 推荐(0) 编辑
摘要: 开发过程中使用注解将增加程序的灵活性和扩展性,注解可以修饰接口、类、方法、属性等。 1.反射获取注解 能够通过反射获取类上的注解,主要依赖于核心类AccessibleObject(如下图,Java10的DOC),其实现了AnnotatedElement类。另外其子类包含Field、Executabl 阅读全文
posted @ 2020-04-12 12:05 水木竹水 阅读(454) 评论(0) 推荐(0) 编辑