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

原创 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


占位2——自定义Dialog,写工具类DialogUtils

自定义Dialog,写工具类DialogUtils

修改greenDao代码生成器生成bean文件的成员变量为public

要修改生成类规则只需修改模板entity.ftl中的内容 1、使生成的类成员变量为public类型,如下图修改 2、不生成get、set方法,删除下图有颜色部分...

反射+枚举+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允许用户指定...
  • sdmxdzb
  • sdmxdzb
  • 2015年02月25日 17:52
  • 1015

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

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

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

如果一个实体类字段特别多,那么创建对应的RDBMS对应的表会让我感到抓狂,可以利用Java反射特性,生产对应字段 1.创建一个借口,定义一些常量public interface Constants ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:枚举,注解,实体类,单元测试,反射对象字段------------举例使用
举报原因:
原因补充:

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