反射+泛型抽取公用utils

反射+泛型


import java.lang.reflect.Field;

public class Hac<T> {    public static void main(String[] args) throws Exception{            Student student = new Student();            new Hac<Student>().writeRecord(student);

    }    public synchronized void writeRecord(T t) throws Exception {        Class classzz = t.getClass();        Field[] fieldArray = classzz.getDeclaredFields();        for (Field f : fieldArray) {            //获取每个属性名,对应表中的每个字段            f.setAccessible(true);            try {                String fieldName = f.getName();                String value = String.valueOf(f.get(t));                System.out.println(fieldName+":"+value);            } catch (Exception e) {

            }        }    }}

class Student{    private String name ="zhang";    private int age=20;

    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;    }}

反射+泛型抽取公用utils

原文地址:https://www.cnblogs.com/the-fool/p/11277954.html

时间: 2024-10-07 22:27:22

反射+泛型抽取公用utils的相关文章

利用泛型抽取Dao层,加事务注解问题(java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType)

想利用泛型抽取BaseDao层,简化操作时出现问题: @Transactional这个注解是可以继承的,于是就想写在抽取的BaseDao层上,让实现的类可以不用写@Transactional,就可开启事务. 问题描述: 由于偷懒,没给BaseDao抽接口,代码如下: package com.liang.ssh2.base; import java.lang.reflect.ParameterizedType; import java.util.Collections; import java.u

框架学习前基础加强 泛型,注解,反射(泛型&注解)应用案例,IOC,Servlet3.0,动态代理,类加载器

泛型 1. 泛型类 :具有一个或多个类型变量的类,称之为泛型类! class A<T> { } 2. 在创建泛型类实例时,需要为其类型变量赋值 A<String> a = new A<String>(); * 如果创建实例时,不给类型变量赋值,那么会有一个警告! 3. 泛型方法 :具有一个或多个类型变量的方法,称之为泛型方法! class A<T> { public T fun(T t1) {} } fun()方法不是泛型方法!它是泛型类中的一个方法! pu

DataReader反射泛型对象

昨天听同学说,要把DataReader对象转成实体对象,要写一个通用的方法.想了下用反射应该可以做到.项目中一般都是用第三方组件来做数据访问层,如,Nhibernate.ef等.于是自己想写个简单例子玩玩. 其实,实现起来和简单.一个泛型方法搞定.代码如下: 1 public List<T> ToList<T>(string _sql) where T :class ,new() 2 { 3 4 using (var conn = new SqlConnection(connStr

反射泛型,Dao设计模型 (编码时需要用到)

Dao package com.xiaofan.reflect; import java.io.Serializable; public interface Dao<T> { /** * 添加实体(Entity--Domain)数据到数据库中 * @param t */ void save(T t); /** * 修改数据库中的实体 * @param t */ void update(T t); /** * 根据主键删除记录 * @param pk */ void delete(Seriali

调查管理系统 -(4)DAO与Service层的泛型抽取与实现

1.设计 BaseDao 与 BaseDaoImpl 1)设计接口 BaseDao 每个实体都应有一个对应的Dao接口,封装了对这个实体的数据库操作.在每个Dao接口中都应有一个基本的增删改查的方法,但每个Dao接口中都写一遍就是重复的代码,可以把这些方法抽取到一个父接口中,定义为: 1 package com.atguigu.surveypark.dao; 2 import java.util.List; 3 /** 4 * BaseDao接口 5 */ 6 public interface

反射泛型实例

在项目中使用到DataTable数据装换成List<T>,暂时不太懂原理,先把代码记下来.等后面再来研究. #region ConvertHelper /// <summary> /// /// </summary> /// <typeparam name="T"></typeparam> class ConvertHelper<T> where T : new() { /// <summary> //

C#中反射泛型 CreateInstance

假设1我有个类叫SortClass,类中有个BubbleSort(int[] array)用于给数组进行排序. 假设2我有个类叫SortT<T>,类中有个BubbleSort(T[] array)用于给数组进行排序. 现在我需要在控制台应用程序里通过反射调用BubbleSort方法为数组int[] array进行排序. int[] array = new int[] { 1,7,98,165,4,8,97 }; 假设1中由于类和方法不是泛型,实现起来比较简单,我就不多说了.具体代码如下: 需要

Java下的框架编程(反射,泛型,元数据,CGLib,代码动态生成,AOP,动态语言嵌入)

Java 虽然没有动态语言般暴起,但仍然天连天,水接水的生出好多框架技术---反射(reflection),泛型(generics),元数据(annotation),proxies(proxy/cglib),代码动态生成(asm),AOP(aspectJ),动态语言嵌入(groovy/javascript/beanshell).面对着这些,我们像一夜暴富的农企,有点手足无措的样子. 反射是一种让框架能够根据 "以字符串形式存在的信息" 来调用对象的属性和函数的技术,是Java对C++最

反射+泛型+缓存 ASP.NET的数据层通用类

1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 using System.Reflection ; 5 using System.Data ; 6 using BaiChang.HealBlog.Model ; 7 using System.Data.SqlClient; 8 using BaiChang.SqlDBUtility; 9 10 namespace BaiChang.Middle.