框架=反射+注解+设计模式 三大基本注解 @Override:限制重写父类的方法。 @Deprecated:表示所修饰的类或是方法已经过时。 @SuppressWarnings:抑制编译器警告 元注解:修饰注解的注解成为元注解 元数据:修饰数据的数据成为元数据。 元注解 @Retention:指明所修饰注解(Annotation)的生命周期 Resource:在编译时就会被抛弃。
12. 反射机制获取到类中的注解信息 13. 23种设计模式:动态代理模式 14. 总结: 15. 最后: 1. 反射的概念 Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助Reflection API取得任何类的内部信息,并能直接操作任意对象内部属性以及方法。 反射机制有什么用 ??? 通过Java语言中的反射机制可以操...
extendsSomeType>>subTypes=reflections.getSubTypesOf(SomeType.class); // 获取包含某个注解的所有类 Set<Class<?>>annotated=reflections.getTypesAnnotatedWith(SomeAnnotation.class); 1. 2. 3. 4. 5. 6. 指定要扫描的包名并添加过滤器 ConfigurationBuilder API Reflectionsreflections=newReflecti...
说Class 是反射能够实现的基础的另一个原因是:Java 反射包 java.lang.reflect 中的所有类都没有 public 构造方法,要想获得这些类实例,只能通过 Class 类获取。所以说如果想使用反射,必须得获得 Class 对象。 2)Class类的相关方法:Class 实例可以在运行时访问 相应 对象的属性和方法,构造方法等等 Class c = Stud...
Annotation是一个接口,程序可以通过反射来获取指定 程序元素的Annotation对象,然后通过Annotation对象来 获取注解里面的元数据。注解API非常强大,被广泛应用 于各种Java框架。 分类 根据注解参数的个数分类 1)、标记注解:一个没有成员定义的Annotation类型被 称为标记注解。
有时公司不让使用三方数据库框架,自己又不想一遍一遍的写增删改查。于是出于懒惰,就基于反射加注解,写了一个简单的数据库框架。 一、先来看看使用。 1) 首相要对要进行增删改查的数据对象进行注解配置,如下以Book类为例: @Table(name="booktwo")publicclassBook{@PrimaryKey@Column(name="b_id")publicString...
使用@PostConstruct注解修饰的init方法就会在Spring容器的启动时自动的执行,下面我们看一下@PostConstruct注解是做和做到的这个能力。 @PostConstruct注解原理 /** * The PostConstruct annotation is used on a method that needs to be executed * after dependency injection is done to perform anyinitialization. This...
本文是系列文章的第三篇,利用前两篇的反射和注解来手撸一个Android依赖注入框架,还没有学习过前两篇文章内容的小伙伴,抓紧学习一下吧。 创建注解 这里我们以Butterknife的ViewBind和OnClick为例,创建这么两个注解,直接上代码 @Retention(RetentionPolicy.RUNTIME)@Target(ElementType.FIELD)public@interfaceViewBind{int...
最近在设计和开发部门的基础架构,需要利用反射技术找到classpath目录下所有包含指定注解的类,然后根据注解配置完成指定的功能。 最初是想自己写代码来实现这些功能,边查资料边写,整了大半天,写出来的效果自己都不太满意。一方面是代码多,不好维护;另一方面是性能不太好...
这个问题我们以前学servlet的时候就遇到过,当时我们是创建一个BaseServlet,再使用反射,让其子类一个方法对应一个请求。这里的解决方式是使用注解。2注解的使用 ①配置注解 开启注解扫描:这个在学spring框架的时候就用过很多次了。mvc注解驱动:这个就相当于自动配置映射器、适配器了。②处理器类 @Controller:这个...