@Retention : RetentionPolicy. SOURCE,CLASS,RUNTIME
@Target :ElementType.TYPE,FIELD,METHOD,PARAMETER,CONSTRUCTOR,LOCAL_VARIABLE,ANNOTATION_TYPE,PACKAGE
@Retention(RetentionPolicy.RUNTIME)
@Target(value = ElementType.FIELD)
public @interface In {
/**
* 范围
*
* @return
*/
String scope();
/**
* 值
*
* @return
*/
String value();
}
@Retention(RetentionPolicy.RUNTIME)
@Target(value = ElementType.TYPE)
public @interface UserInfo {
String name();
String age();
}
@UserInfo(name = "sefer", age = "27")
public class User {
@In(scope = "request", value = "hangzhou")
String address;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
public class GetUser {
public static void main(String[] args) {
AnnotatedElement an = User.class;
boolean isUserInfo = an.isAnnotationPresent(UserInfo.class);
if (isUserInfo) {
UserInfo userInfo = an.getAnnotation(UserInfo.class);
String name = userInfo.name();
String age = userInfo.age();
System.out.println("name: " + name);
System.out.println("age: " + age);
}
User user = new User();
Field[] fields = user.getClass().getDeclaredFields();
for (Field field : fields) {
// 重要:避免java虚拟机检查对私有成员的访问权限
field.setAccessible(true);
boolean isIn = field.isAnnotationPresent(In.class);
if (isIn) {
In in = field.getAnnotation(In.class);
System.out.println(field.getName() + "value: " + in.value());
System.out.println(field.getName() + " save scope: "
+ in.scope());
}
}
}
}
分享到:
相关推荐
quartz用annotation方式实现。
struts2 使用Annotation配置实现的小例子,转载供大家学习使用,里面包括了所需的jar包
自定义Annotation的例子,博客地址:http://blog.csdn.net/yirentianran/article/details/52816764
Spring IOC Annotation 注入 学习实例
Java Annotation的讲解和例子~~~
一个关于权限管理的Hibernate Annotation例子。
spring ,hibernate ,flex 应用注释配置的一个例子,里面有数据库脚本和说明文件
Struts2的“零配置”特性是Struts2的新功能,可能会出现一些小Bug,所以企业开发者请慎重使用该特性, ...如果用的是Annotation的Struts2,就要将struts.xml去掉,否则即使将struts.xml中的内容注销,也会报错;
注解Annotation实现原理与自定义注解例子 每当你创建描述符性质的类或者接口时,一旦其中包含重复性的工 作,就可以考虑使用注解来简化与自动化该过程。 Java提供了四种元注解,专门负责新注解的创建工作
NULL 博文链接:https://yanbo.iteye.com/blog/1130995
资源里一共有我的五篇博客组成,主要描述了如何使用代理技术来实现Annotation HttpClient。博客中描述了主要的流程和思路,对于...此外,提供了Annotation HttpClient的源码,源码中有相应的例子,方便大家进一步理解。
hibernate 以Annotation方式配置在oracle和mysql hibernate,这里面提供了两个小例子,一个是配置跟oracle数据库相关联时的配置方法,一个是配置跟mysql数据库相关联时的配置方法。
struts2+spring2+hibernate3 Annotation整合例子
这是一个如何制作类级别注释的小例子。 这里还有一些小例子,说明如何利用Java 8的一些很酷的新功能。 验证IDE设置 一旦将此Java程序导入到您的IDE中(我使用intellij创建了这个项目),就可以运行...
ehcache 例子 ehcache annotation ,是基于MyEclipse8.5开发的例子
一个简单的例子,SPringMVC最常用的开发模式,通过注解的方式配置一个控制器和请求!
Hibernate Annotation几种关联映射 一对一(One-To-One) 使用@OneToOne注解建立实体Bean之间的一对一关联。一对一关联有三种情况:(1).关联的实体都共享同样的主键,(2).其中一个实体通过外键关联到另一个实体的主键...
学习java自定义注解的小例子,处理运行时注解方法,可以结合博客学习,博客地址: http://blog.csdn.net/liuyonglei1314/article/details/59494503
该资源是SpringMVC Annotation+hibernate+velocity的一个简单例子,供大家参考使用。
struts2.1 spring2.5 ibatis2.3 dwr3 annotation配置 集成 此中例子不完整. 如要下载:http://download.csdn.net/source/2138885