文档章节

Java之Annotation学习

一缕清风
 一缕清风
发布于 2016/07/12 18:41
字数 191
阅读 3
收藏 0

相关概念:http://www.cnblogs.com/mandroid/archive/2011/07/18/2109829.html


定义注解

package cn.baokx.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(value={ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface MyTableAnnotation {
	String value();
}

package cn.baokx.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(value={ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface MyFieldAnnotation {
	String columnName();
	String type();
}

package cn.baokx.annotation;
@MyTableAnnotation("TBL_STUDENT")
public class Student {
	@MyFieldAnnotation(columnName="NAME",type="VARCHAR")
	private String name;
	@MyFieldAnnotation(columnName="AGE",type="INT")
	private int age;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	
}


package cn.baokx.annotation;

import java.lang.reflect.Field;

public class Main {
	public static void main(String[] args) throws NoSuchFieldException, SecurityException, ClassNotFoundException {
		Student stu = new Student();
		stu.setName("baokx");
		stu.setAge(30);
		handler(stu);
	}
	
	public static void handler(Student stu) throws NoSuchFieldException, SecurityException, ClassNotFoundException{
		Class clazz = stu.getClass();
		MyTableAnnotation mta = (MyTableAnnotation) clazz.getAnnotation(MyTableAnnotation.class);
		System.out.println("tableName:"+mta.value());
		
		Field f = clazz.getDeclaredField("name");
		MyFieldAnnotation mfa = f.getAnnotation(MyFieldAnnotation.class);
		System.out.println("columnName:"+mfa.columnName());
		System.out.println("type:"+mfa.type());
		System.out.println("value:"+stu.getName());
		
		f = clazz.getDeclaredField("age");
		mfa = f.getAnnotation(MyFieldAnnotation.class);
		System.out.println("columnName:"+mfa.columnName());
		System.out.println("type:"+mfa.type());
		System.out.println("value:"+stu.getAge());
	}
}














本文转载自:http://blog.csdn.net/baokx/article/details/51613017

一缕清风
粉丝 5
博文 128
码字总数 3410
作品 0
东城
私信 提问
Annotation(注解) 学习

一,Annotation(注解) 概述 ,Annotation 其实就是代码里的特殊标记, 它用于替代配置文件,也就是说,传统方式通过配置文件告诉类如何运行,有了注解技术后,开发人员可以通过注解告诉类如何...

宇宙执政
2014/05/07
262
0
Groovy 2.5.0 发布,JVM 动态脚本语言

Apache Groovy 2.5.0 已发布。此版本包含大量修复和依赖更新,并包含以下新特性: [GROOVY-6744] - Have the elvis operator (?:) support the Optional type in Java 8 [GROOVY-7089] - Bas......

淡漠悠然
2018/05/31
1K
6
Java注解(Annotation)详解

Java注解(Annotation)详解 1.Annotation的概念 An annotation is a form of metadata, that can be added to Java source code. Classes, methods, variables, parameters and packages may......

幻海流心
2018/05/23
0
0
PMD 5.4.3 和 5.3.8 发布,Java 程序代码检查工具

PMD 5.4.3 和 5.3.8 发布了,PMD 是一款采用 BSD 协议发布的 Java 程序代码检查工具。该工具可以做到检查 Java 代码中是否含有未使用的变量、是否含有空的抓取块、是否含有不必要的对象等。该...

局长
2016/11/05
1K
2
Spring | IOC AOP 注解 简单使用

写在前面的话 很久没更新笔记了,有人会抱怨:小冯啊,你是不是在偷懒啊,没有学习了。老哥,真的冤枉:我觉得我自己很菜,还在努力学习呢,正在学习Vue.js做管理系统呢。即便这样,我还是不...

Wenyi_Feng
2018/06/23
22
3

没有更多内容

加载失败,请刷新页面

加载更多

只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
昨天
59
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
昨天
28
0
全世界到底有多少软件开发人员?

埃文斯数据公司(Evans Data Corporation) 2019 最新的统计数据(原文)显示,2018 年全球共有 2300 万软件开发人员,预计到 2019 年底这个数字将达到 2640万,到 2023 年达到 2770万。 而来自...

红薯
昨天
65
0
Go 语言基础—— 通道(channel)

通过通信来共享内存(Java是通过共享内存来通信的) 定义 func service() string {time.Sleep(time.Millisecond * 50)return "Done"}func AsyncService() chan string {retCh := mak......

刘一草
昨天
58
0
Apache Flink 零基础入门(一):基础概念解析

Apache Flink 的定义、架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速...

Vincent-Duan
昨天
60
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部