- 浏览: 1333780 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (471)
- 原创文章 (4)
- Database (84)
- J2SE (63)
- Web (26)
- Javascript (30)
- Lucene (11)
- os (13)
- 算法 (8)
- Webservice (1)
- Open projects (18)
- Hibernate (18)
- Spring (15)
- Css (2)
- J2ee (2)
- 综合技术 (18)
- 安全管理 (13)
- PatternsInJava (27)
- NIO (5)
- Ibatis (2)
- 书籍收藏 (1)
- quartz (7)
- 并发编程 (15)
- oracle问题 (2)
- ios (60)
- coco2d-iphone (3)
- C++ (6)
- Zookeeper (2)
- golang (4)
- animation (2)
- android (1)
最新评论
-
dandingge123:
【引用】限制UITextField输入长度的方法 -
qja:
...
对List顺序,逆序,随机排列实例代码 -
安静听歌:
现在在搞这个,,,,,哎~头都大了,,,又freemarker ...
通用大型网站页面静态化解决方案(一) -
springdata-jpa:
java quartz定时任务demo教程源代码下载,地址:h ...
Quartz 配置参考 -
马清天:
[b][/b][list][*]引用[u][/u][/list ...
通用大型网站页面静态化解决方案(一)
package com.test; /** * 文件类 * @author chinaxxren * */ public class Document { private String name; public Document(String name){ this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
package com.test; /** * 用户类 * @author chinaxxren * */ public class User { private String username; private String password; private Document document1; private Document document2; private Document document3; private Document document4; private Document document5; public Document getDocument1() { return document1; } public void setDocument1(Document document1) { this.document1 = document1; } public Document getDocument2() { return document2; } public void setDocument2(Document document2) { this.document2 = document2; } public Document getDocument3() { return document3; } public void setDocument3(Document document3) { this.document3 = document3; } public Document getDocument4() { return document4; } public void setDocument4(Document document4) { this.document4 = document4; } public Document getDocument5() { return document5; } public void setDocument5(Document document5) { this.document5 = document5; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
package com.test; import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map; /** * JavaBean属性反射 * @author admin * */ public class Test { public static void main(String[] args) throws Exception, NoSuchMethodException { Map<String, Document> map = new HashMap<String, Document>(); map.put("document1", new Document("A")); map.put("document2", new Document("B")); map.put("document3", new Document("C")); map.put("document4", new Document("D")); map.put("document5", new Document("E")); User documents = new User(); Class<?> cl = documents.getClass(); Method[] methods = cl.getMethods(); //设置set方法 for (Method method : methods) { String methodName = method.getName(); if (!methodName.startsWith("set")) { continue; } String name = methodName.toLowerCase(); String key = name.substring(3); Document document = map.get(key); method.invoke(documents, document); } //get方法 for (Method method : methods) { String methodName = method.getName(); if (!methodName.startsWith("get") || "getClass".equals(methodName)) { continue; } Object obj = method.invoke(documents); Document document = (Document) obj; System.out.println(document.getName()); } } }
输出结果:
A
B
C
D
E
发表评论
-
J2ME 的优化措施
2012-07-11 02:15 1174常见的性能瓶颈:1.文件的读写和网络的操作2.CPU3.内存4 ... -
JAVA缓存 - Cache类
2011-09-28 11:04 4611JAVA缓存有两种: 一、文件缓存,是指把数据存储在磁盘上 ... -
Java注释(Annotation)详解
2011-03-31 18:22 2397注释:在一个类中可以有多个,类似于一个类可以有多个实例; ... -
Java去除字符串中的空格、回车、换行符、制表符
2011-02-15 11:06 3554本方法采用的是java的正则表达式 import jav ... -
线程池编程
2011-01-23 21:02 1102线程池编程 -
设计模式:Java语言中的应用
2011-01-23 20:59 1318设计模式:Java语言中的应用 -
java用了中间缓存变量
2011-01-23 18:37 2393Java语法、语言特性与机制 2011-01-22 19:1 ... -
Java集合总结
2011-01-19 11:16 3818Set:不区分元素的顺序,不允许出现重复的值list:区分元素 ... -
java.util.current的主要方法简介
2011-01-08 22:18 3433JDK5中增加了Doug Lea的并发库,这一引进给java线 ... -
线程池
2011-01-08 21:03 2068对每个客户都分配一个新的工作线程。当工作线程与客户通信结束,这 ... -
SimpleDateFormat
2010-12-10 16:11 1361With SimpleDateFo ... -
使用 XStream 在 JavaBean 与 XML/JSON 之间相互转换
2010-12-10 14:24 1554XML 和 JSON 是当今常用的两种数据描述与传输的格式,特 ... -
Linux上JDK的 安装和卸载 详细 (转)
2010-11-27 15:48 1923安装 1. 去http://java.sun.com ... -
java 路径问题
2010-11-26 16:21 12951.JSP/Servlet中获得当前应用的相对路径和绝对路径 ... -
对synchronized(this)的一些理解
2010-11-25 23:41 1023一、当两个并发线程访问同一个对象object中的这个synch ... -
Externalizable
2010-11-20 22:41 1357被Serializable接口声明的类的对象的内容都将被序列化 ... -
Java实现文件拷贝的4种方法(转)
2010-11-15 12:33 1247... -
Java内省和反射机制三步曲之 - 内省
2010-11-11 12:15 1341经过多方面的资料搜集整理,写下了这篇文章,本文主要讲解java ... -
java内省机制
2010-11-11 11:10 2395反射 (Reflection):反射就是让你可以通 ... -
Design Pattern: Thread-Specific Storage 模式
2010-11-11 00:00 1208无论如何,要编写一个多执行绪安全(thread-safe)的程 ...
相关推荐
### JavaBean属性命名规范 JavaBean是一种遵循特定编码标准的Java类,主要用于封装数据或表示简单的数据载体。在JavaBean中,属性的命名规范是非常重要的,因为它直接影响到代码的可读性和可维护性,同时也会影响到...
5. **调用setter方法**:通过反射调用setter方法,将转换后的值赋给JavaBean的相应属性。 #### 示例代码解析 在提供的代码片段中,可以看到`ParameterUtil`类的核心方法`setFormBean()`实现了上述逻辑。该方法接受...
反射机制则是Java语言提供的一种强大的工具,允许程序在运行时动态获取类的信息(如类名、属性、方法等)并进行调用。 首先,让我们详细讲解JavaBean。JavaBean是符合一定规范的Java类,主要特点是:公开的构造函数...
本项目为Apache Commons子项目——commons-beanutils的核心源码,专注于利用Java反射机制高效处理JavaBean属性。该项目结构丰富,包含331个文件,涵盖295个Java源文件、14个XML文件、5个文本文件等,旨在为Java开发...
### JavaBean与反射:深入解析 #### JavaBean概念与特性 JavaBean,作为Java语言中的一种软件组件架构,被设计为可重用的组件,特别适用于图形用户界面(GUI)开发领域。它不仅简化了GUI应用程序的构建过程,还...
JavaBean是一种Java语言编写的标准组件,它遵循一定的编码规范,如:拥有公共无参构造函数、所有属性私有化并提供公共的getter和setter方法等。JavaBean通常用于封装数据,在本案例中,我们将使用JavaBean作为数据...
1.通过Java反射机制获取JavaBean对象。 2.通过JavaBean全路径字符串获取JavaBean对象。 3.获取JavaBean注解信息
4. 反射机制:JavaBean的属性、事件和方法可以通过反射API动态访问,增强了程序的灵活性。 使用JavaBean的场景: 1. MVC架构:在Model部分,JavaBean用于封装业务逻辑和数据,与View和Controller进行交互。 2. JSP...
例如,通常我们需要遍历JSON对象的每一个键值对,然后逐个设置到对应的JavaBean属性上,而工具方法通过反射可以自动化这一过程。 6. **性能考虑** 尽管反射提供了解耦和灵活性,但它的性能通常比直接的getter/...
- **使用get/set方法访问其属性**:JavaBean的属性通常遵循JavaBeans规范,即通过get和set方法来访问和修改。 JavaBean提供了一种封装功能、处理逻辑、值、数据库访问等的能力,使得其他开发者可以通过内部的JSP...
在Java开发中,JavaBean是一种遵循特定规范的Java类,通常用于封装数据并提供相应的getter和setter方法。在数据库操作中,将SQL查询结果映射到Java对象是常见的需求,这时JavaBean的作用就显现出来了。...
- **反射**:在运行时动态地获取类的信息并操作JavaBean。 - **JSP页面**:在Web开发中,JavaBean可以作为模型层,与JSP视图层进行数据交换。 5. **JavaBean在MVC架构中的角色**: 在MVC架构中,JavaBean作为...
把一个javabean里面的属性值复制到另外一个javabean中相同的属性值
通过上述步骤,我们可以编写一个通用的工具方法,接受类名、属性名和值作为参数,利用反射填充JavaBean的属性。这样的实现对于处理大量相似对象的初始化或数据绑定场景非常有用,例如在数据持久化、JSON序列化/反...
3. **无参构造函数**:JavaBean必须有一个公共的无参构造方法,这是为了让反射机制能够正常工作。 4. **公共的get/set方法**:对于私有字段,需要提供公共的getter和setter方法,这些方法通常命名为`getXXX`和`...
- JDK的反射机制允许动态访问对象的属性和方法,而JDK 1.5引入的标注可以为程序元素关联信息,这些信息可以通过反射机制访问。 2. **设计与实现**: - 为了简化JavaBean的持久化过程,文章提出使用Java的标注和...
5. 反射和序列化:JavaBean支持反射API,允许在运行时动态地获取类的信息和调用方法。同时,JavaBean默认实现了Serializable接口,可被序列化和反序列化,方便在网络间传输或持久化存储。 在描述中提到的“可直接用...
2. **设置JavaBean属性**: - 使用`<jsp:setProperty>`标签设置JavaBean的属性值。 ```jsp *"/> ``` - 参数解释: - `name`: 已经实例化的JavaBean的ID。 - `property`: 要设置的属性名称,使用`*`表示设置...
你可以看到这个类对属性的存取方法(getter and setter method)使用了标准JavaBean命名约定,同时把类属性(field)的访问级别设成私有的(private)。这是推荐的设计,但并不是必须的。Hibernate也可以直接访问...
// 使用BeanUtil工具类填充JavaBean属性 BeanUtils.populate(user, paramMap); } catch (IllegalAccessException | InvocationTargetException e) { e.printStackTrace(); } // 现在,user对象已经被填充了...