`

反射获取注解的信息,反射获取类的属性

阅读更多
注解:
public @interface Table {
    java.lang.String name() default "";

    java.lang.String catalog() default "";

    java.lang.String schema() default "";

    javax.persistence.UniqueConstraint[] uniqueConstraints() default {};

    javax.persistence.Index[] indexes() default {};
}


    /**
     * 获取对象对应的表名
     * @Author YangLong
     * @param object 需获取表名对象
     * @return 类对应的表名
     */
    public String getTableName(final T object) {
        Annotation[] annotations = object.getClass().getAnnotations();
        String tableName = "";
        //遍历注解
        for (Annotation annotation : annotations) {
            //如果是Table注解
            if (annotation instanceof Table) {
                //获取注解中name()对应的属性值
                tableName = ((Table) annotation).name();
            }
        }
        return tableName;
    }
获取类:
/**
     * 获取对象的属性名称数组
     * @Author YangLong
     * @param object 需获取属性名称的对象
     * @return 属性名称
     */
    public String[] getTableColumn(final T object) {
        //获取泛型对应的类中的所有属性名称,不包含继承的
        //getFields获取所有公共访问的,包括继承的
        Field[] fields = object.getClass().getDeclaredFields();
        final int length = fields.length;
        String[] columnNames = new String[length];
        for (int i = 0; i < length; i++) {
            columnNames[i] = fields[i].getName();
        }
        return columnNames;
    }
分享到:
评论

相关推荐

    通过反射获取注解的属性值(源代码)

    通过反射获取注解的属性值 1、获取类上注解的值 1.1 定义注解类 1.2 定义使用注解的类 1.3 测试类 1.4 测试结果 2、获取属性变量上注解的值 2.1 定义注解类 2.2 定义使用注解的类 2.3 定义测试类 2.4 测试结果 3、...

    通过java的反射技术获取,某个包路径下的类,并以表格形式打印类的属性注解注释及属性名称等

    通过java的反射技术获取,某个包路径下的类,并以表格形式打印类的属性注解及属性名称等,打印的结果以|分隔,复制到excel表格后,可以设置分列成需要的excel表格

    通过Java反射机制获取JavaBean对象

    1.通过Java反射机制获取JavaBean对象。 2.通过JavaBean全路径字符串获取JavaBean对象。 3.获取JavaBean注解信息

    Java的反射机制讲解案例代码 Class类、 获取类的结构信息:构造函数、方法和字段,动态创建对象、调用方法和设置属性

    Java的反射机制是指在运行时通过分析类的信息实现动态调用类的方法和访问类的属性的能力。它允许程序在运行时获取类的信息并操作类或对象的属性、方法和构造函数等。通过反射机制,可以实现很多高级特性,如动态代理...

    Java反射机制——类的加载方法,创建对象,获取方法以及结构

    反射机制允许程序在执行期间借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。 框架=反射+注解+设计模式   1.是什么? 加载完类之后,在堆内的方法区中就产生了一个Class类型的...

    java基础的注解和反射的相关知识点总结

    Java的反射机制是指在程序的运行状态中,**可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用,操作任意一个对象的属性和方法。**这种动态获取程序信息以及...

    37.Java的反射.md

    Java反射反射机制,通过反射,在不修改源代码的情况下实现对类的操作。JAVA反射机制是在运行状态中...这种动态获取信息以及动态调用对象方法(**方法名.invoke(类对象),类似于p.eat()**)的功能称为java语言的反射机制。

    Java高级程序设计实战教程第三章-Java反射机制.pptx

    3.2.3 Java反射机制的相关API java.lang.reflect包提供了用于获取类和对象的反射信息的类和接口。反射API允许对程序访问有关加载类的字段,方法和构造函数的信息进行编程访问。它允许在安全限制内使用反射的字段,...

    Java反射学习和反射的应用场景干货都在这里

    文章目录一、Java反射定义二、Java反射机制实现1、Class对象获取2、获取class对象的摘要信息3、获取class对象的属性、方法、构造函数等三、反射的应用场景1、动态代理2、自定义注解实现日志管理 写在前面:Java反射...

    切面生成service-api接口-jar

    切面生成service-api接口 1.aspectj 切面获取注解信息 2.Java 反射获取属性信息 3.SpringContext 获取spring 容器beans 4.poi工具生成docx文档

    aspectj切面生成service-api接口源码

    切面生成service-api接口源码 1.aspectj 切面获取注解信息 2.Java 反射获取属性信息 3.SpringContext 获取spring 容器beans 4.poi工具生成docx文档

    java注解之运行时修改字段的注解值操作

    主要介绍了java注解之运行时修改字段的注解值操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    C#如何获取枚举的描述属性详解

    通过反射,我们能获取到枚举类型的描述属性。 首先我们需要给枚举类型添加描述属性(属性都没有是不可能取到的),[Description]就是描述属性,使用这个属性,我们需要添加 using System.ComponentModel 引用。 ...

    Java 基础核心总结 +经典算法大全.rar

    获取类的构造器(Constructor) 获取注解 通过反射调用方法反射的应用场景 Spring 的 IOC 容器反射 + 抽象工厂模式 JDBC 加载数据库驱动类反射的优势及缺陷 增加程序的灵活性破坏类的封装性 性能损耗 代理模式 静态...

    java高级特性,涵盖了多种java常用的一些例子

    Java标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java 虚拟机可以保留标注内容,在运行时可以获取到标注内容 。 Java 注解用于为 Java 反射机制 在运行状态中,对于任意一个类...

    CrudSql.java

    如果你用mybatis又习惯使用注解的形式,如果你苦于写又臭又长又很多字段的sql语句,或者你喜欢使用jdbc又不想写sql语句,那么正好使用这...另外程序还可以反射获取类中的属性名,可以做其他操作,增加了程序的扩展性。

    java中的注解

    和Javadoc不同,Java标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java虚拟机可以保留标注内容,在运行时可以获取到标注内容。 当然它也支持自定义Java标注  JDK1.5之后的特征 ...

    java中的@Value获取不到配置文件的值,也加载不到默认值

    自己开发一个工具类,为第三方应用提供调用接口,但是打包后测试过程中,发现了一个问题就是在用@Value获取配置文件内容的时候,无法获取我们的配置信息,也无法加载我们配置的默认值!具体配置如下: @Value("${...

    java基础案例与开发详解案例源码全

    16.5 利用反射获取注解信息438 16.6 上机练习440 17.1 功能描述442 17.2 总体设计442 17.3 代码实现442 17.4 程序的运行与发布457 17.5 本章练习460 第18章 18.1 JDBC简介462 18.2 JDBC类和接口462 18.2.1 ...

    jquery实现多级选择栏联动插件

    1.利用反射技术获取注解属性值,避免后台层次添加导致改动前端代码(例如:刚开发时 省份-》县-》乡,后期数据库更新为省份-》县-》乡-》街道,由于街道的新增可能导致前端代码的更新),本插件即使新增也无需更改...

Global site tag (gtag.js) - Google Analytics