枚举,注解,实体类,单元测试,反射对象字段------------举例使用

原创 2016年05月30日 13:19:13
/**
 * 定义一个枚举,枚举多用来存放常量,是一种数据类型
 * @author Administrator
 *
 */
public enum Myenum {
RED,BLUE,YELLOW

}

===========================================================================================================

/**
 * 自定义一个注解,一个采用枚举类型赋值,另一个声明为String,默认值为“”
 * @author Administrator
 *
 */
@Documented
@Target(value={ElementType.FIELD})//表明该注解针对的类型是字段
@Retention(RetentionPolicy.RUNTIME)//表明该注解实在运行时有效
@Inherited
public @interface Myannotation {
public String value() default "";
    public Myenum myenum() default Myenum.BLUE;//给注释类型中的变量myenum赋默认值为枚举数据类型的Myenum.BLUE


}

===========================================================================================================

/**
 * 建立实体类,含两个属性,一个用枚举数据类型
 * 给注释类型中的变量myenum赋值为枚举数据类型的Myenum.YELLOW
 * 给注释类型中的变量value赋值为xx
 * @author Administrator
 *
 */
public class People {

//@Myenum("xx")
@Myannotation(myenum=Myenum.YELLOW,value="xx")
private String colorName;

public String getColorName() {
return colorName;
}
public void setColorName(String colorName) {
this.colorName = colorName;
}


public int getAge() {
return age;
}


public void setAge(int age) {
this.age = age;
}


public int age;


}

===========================================================================================================

/**
 * 建立单元测试类
 * @author Administrator
 *
 */
public class PeopleTest {
@Test
public void test1(){
System.out.println("111111111");//检测单元测试方法是否成功
}
@Test
public void testpeople(){
Class p=People.class;//利用反射生成对象  Class p1=Class.forName("com.yunhe.entity.People");
try {
Field[] fs=p.getDeclaredFields();//利用反射生成对象p的属性字段的集合
for(Field f:fs){
System.out.println("字段类型:      "+f.getType());//用于检查反射生成的对象的字段的类型
System.out.println("字段名称:      "+f.getName());//用于检查反射生成的对象的字段的名字
if(f.isAnnotationPresent(Myannotation.class)){//判断字段是否采用指定类型的注解,利用反射产生注解对象
Myannotation at = f.getAnnotation(Myannotation.class);//返回对象f所包含的指定的注解对象,否则null
System.out.println("注解的字段值:      "+at.myenum()+"----"+at.value());//输出特定注解的相关字段的值
}

}
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}



}

====================================运行结果=======================================================================

字段类型:      class java.lang.String
字段名称:      colorName
注解的字段值:      YELLOW----xx
字段类型:      int
字段名称:      age


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

反射+枚举+freemarker,自动生成实体类,自动建表建索引(二)之建表建索引,注解和DatabaseMetaData 获取信息

接上一篇博文反射+枚举+freemarker,自动生成实体类,自动建表建索引(一)之生成实体类,枚举详解,这篇博文介绍自动建表。   用反射+枚举+freemarker,自己实现的自动生成实体类和自...

Hibernate 实体类注解 Entity方式5、@Basic(fetch=FetchType,optional=true) 可选 @Basic表示一个简单的属性到数据库表的字段的映射,对于没有

Hibernate注解 1。@Entity(name="EntityName") 必须,name为可选,对应数据库中一的个表 2、@Table(name="",catalog...

Java反射学习总结终(使用反射和注解模拟JUnit单元测试框架)

利用反射和注解模拟JUnit4单元测试框架工作流程。

使用RunWith注解改变JUnit的默认执行类,并实Listener在平时的单元测试

[java] view plaincopy public class TestClass {       @Test public void  t1(){}   }   JUnit允许用户指定...

Java 反射由实体类生产hive或mysql表对应字段

如果一个实体类字段特别多,那么创建对应的RDBMS对应的表会让我感到抓狂,可以利用Java反射特性,生产对应字段 1.创建一个借口,定义一些常量public interface Constants ...

Java之反射类的构造函数,通过单元测试反射创建类的对象

需要测试的Person类的源代码如下: package cn.itcast.reflect; import java.util.List; public class Person { publ...

基于注解和反射的Java ORM框架(4)-数据库自动生成Java实体类

Panda ORM作为最懒ORM框架之一(低调!),提供了直接从数据库表自动生成java实体类的功能。本篇介绍使用方法,十分之简单舒畅,后续在测试完毕后将提供Panda ORM的全部源代码(包括数据库...

Myeclipse 10使用hibernate生成注解(annotation)实体类

以MySQL数据库为例,请在数据库里面建好对应的表。 1.配置数据库链接 打开Myelipse Database Explorer视图 Window-->Open Perspective...

hibernate教程____hibernate时启动创建表结构(使用实体类注解不用hbm.xml)

1.javax.persistence注解详解 导包注意 javax.persistence.xxx都是基于javaEE标准规范 JPA架构 name name属性定义了被标注字段在数据...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)