`

setter方法提取---使用反射获得setter方法

阅读更多
   setters = new HashMap<String, Method>();
			for (Method method : clazz.getMethods()) {
				String methodName = method.getName();//找出setter方法
				//set方法至少长度为4,非静态,返回值为空,参数只有一个
				
				if (methodName.length() < 4) { //把一些内部自己弄的method给过滤掉
					continue;
				}

				if (Modifier.isStatic(method.getModifiers())) {//过滤静态方法
					continue;
				}

				if (!method.getReturnType().equals(Void.TYPE)) {
					continue;
				}

				if (method.getParameterTypes().length != 1) {
					continue;
				}

				if (methodName.startsWith("set") && Character.isUpperCase(methodName.charAt(3))) {
					String propertyName = Character.toLowerCase(methodName.charAt(3)) + methodName.substring(4);
					setters.put(propertyName, method);
					method.setAccessible(true);
				}
			}
分享到:
评论

相关推荐

    反射小例子

    同时,类中也实现了`getName`、`setName`、`getType`、`setType`这些getter和setter方法,以及重写了`toString`方法。 知识点: - 类的定义及属性声明。 - 构造器的定义和使用。 - 方法的重写。 - Getter和Setter...

    采用反射技术和XML的通用实体类

    在通用实体类的设计中,反射技术通常用于在运行时动态创建和实例化对象,根据数据库表的结构自动映射属性,以及执行对象的getter和setter方法。 接下来,我们来看看XML。XML(eXtensible Markup Language)是一种...

    java从数据库表反射出实体类,自动生成实体类

    根据提供的文件信息,我们可以深入探讨如何使用Java编程语言来实现从数据库表中自动反射并生成实体类的功能。这种技术在实际开发中非常有用,尤其是在快速搭建项目基础结构时,能够大大减少手动编码的工作量。 ### ...

    一次获得界面所有实体类的数据

    `ParamUtils`类根据setter方法的参数类型(如`int.class`、`Date.class`等),使用适当的转换方法(如`Integer.parseInt`、`SimpleDateFormat.parse`等)将字符串参数转换为正确的类型。 #### 总结 通过`...

    Manning - Java Reflection in Action

    3. **代码生成**:利用反射可以动态生成或修改代码,例如自动生成Bean的getter和setter方法。 4. **测试工具**:自动化测试工具通常需要访问类的私有成员变量和方法,反射技术为此提供了便利。 5. **配置管理**:...

    commons相关jar

    它使得在Java对象之间复制属性、设置和获取属性值变得更加简单,而无需直接调用getter和setter方法。 - **核心功能**:属性拷贝、属性访问(通过反射机制)、转换器(Converter)支持,用于在不同数据类型之间转换...

    commons-beanutils-1.8.0.jar

    在本篇文章中,我们将深入探讨`commons-beanutils-1.8.0.jar`这个版本,了解其主要特性和使用方法。 一、BeanUtils概述 BeanUtils库是Apache Commons项目的一部分,它是基于JavaBeans规范的。JavaBeans是一种符合...

    JAVAEE笔记

    - **提取Annotation信息**:可以通过反射机制获取类、方法上的注解信息。 #### 八、动态代理 动态代理是在运行时动态生成代理对象的技术,常用于AOP(面向切面编程)中。 - **动态代理**:Java中主要使用java....

    Java反射中java.beans包学习总结.docx

    在Java编程语言中,反射(Reflection)是一种强大的工具,它允许程序在运行时检查和操作类、接口、字段和方法的信息。JavaBeans包(java.beans)提供了与JavaBeans组件交互的相关类和接口,这些组件是Java面向对象...

    OCP java SE7 Programmer II Certification Guide

    - **继承**:介绍继承的概念,基类与派生类之间的关系,super关键字的使用方法。 - **多态**:探讨多态性在Java中的实现方式,包括方法重载与方法覆盖。 - **抽象类与接口**:讲解抽象类与接口的区别,何时应该使用...

    javalab 3.zip

    - **反射**:在运行时检查类、接口、字段和方法的信息,动态调用方法。 - **注解**:自定义注解和元注解,以及注解处理器。 9. **JDBC**: - **数据库连接**:加载驱动,建立连接,创建Statement或...

    java基础知识精华总结

    - 公共的getter和setter方法提供了访问和修改这些变量的方法。 ### 十、内部类 内部类是在另一个类的内部定义的类: - 内部类可以直接访问外部类的成员变量(包括私有的)。 - 静态内部类不需要依赖于外部类的实例...

    httpreq转对象

    通过遍历这些PropertyDescriptor,可以找到对应的setter方法(writeMethod),然后使用`invoke()`方法调用这些setter方法,从而将请求参数值赋给对象的相应属性。 #### 3. **处理请求参数** `request.getParameter...

    java常见面试题指南.pdf

    - **实现方式**:使用private关键字修饰成员变量,提供public的getter和setter方法。 #### 5. 继承 - **定义**:继承允许一个类继承另一个类的属性和行为,从而实现代码重用。 - **实现方式**:使用extends关键字...

    dom4j和反射的例子,源码

    反射是Java提供的一种动态类型特性,允许程序在运行时检查类、接口、字段和方法的信息,并能够创建和操作类的对象。在本例中,我们将使用反射将一个List列表序列化为XML文件。假设我们有一个Employee类和一个包含...

    Java基础学习57.pdf

    在给定的内容中,我们可以提取到关于Java基础学习的关键知识点,这些知识点主要涉及到了JSON的使用、注解的理解与使用以及JSON与XML的区别。以下是对这些知识点的详细解析: 1. JSON的基本概念和重要性: - JSON...

    【框架源码篇 01】Spring源码-手写IOC

    2. **设值注入**:使用setter方法注入依赖。这种方式提供了更大的灵活性,因为可以在对象创建后任何时候注入依赖,甚至在运行时改变依赖。 3. **接口注入**:较少使用,它依赖于特定的接口,该接口定义了一个或多个...

    Spring框架笔记

    1. **使用set方法注入**:通过setter方法为属性赋值。 2. **使用有参的构造函数注入**:通过构造函数传递参数。 3. **使用接口注入**:这种方式在Spring中较少使用。 ### 注入对象类型属性 当需要将一个Bean作为另...

    重构示例

    - 例如,如果一个类有大量冗余的getter和setter方法,可以使用反射来找到这些方法,并自动化生成访问器和修改器,提高代码的规范性。 - 反射也可以帮助识别过时的或者未使用的类、方法,以便进行删除或重构。 5. ...

    Java面试框架高频问题2019

    2. **setter方法注入**:通过setter方法设置依赖。 3. **字段注入**:通过`@Autowired`等注解直接在字段上声明依赖。 **问题七:什么是AOP,AOP的作用是什么?** - **AOP(Aspect Oriented Programming,面向切面...

Global site tag (gtag.js) - Google Analytics