- 浏览: 595178 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (268)
- ext基础 (72)
- Java基础 (68)
- jquery (14)
- oracle (21)
- sqlserver (7)
- linux (2)
- webserver (1)
- C/C++ (1)
- sql (9)
- IDE (2)
- java 智能卡 (1)
- mysql (6)
- ibatis (2)
- struts2 (3)
- cvs (1)
- 服务器 (1)
- html (11)
- freemarker (4)
- liferay (2)
- jMS (1)
- iphone (1)
- c# (1)
- Android (11)
- wince (6)
- javascript (4)
- ps (1)
- hibernate (1)
- 其他 (3)
最新评论
-
ilyq:
请问,px.gif 在哪里
斜线表头 -
jisang:
没看懂,第一个org.js和最后的js什么关系,可否发我一份完 ...
用ExtJS 实现动态载入树(Load tree) -
JavaStudyEye:
我去,能否搞个正确点的,,,
<#list ...
freemarker 遍历map 对象 -
PangSir:
大爱,简直是大爱!!困扰这么久以来的问题,虽然知道是CSS的问 ...
ExtJs checkbox radiobox 问题 汇总 -
skynet_java:
有demo嘛!邮箱:think_world@foxmail.c ...
消息推送服务需求 - 服务器开发、客户端开发
package com.beanUtil; public class TestConvertUtil extends org.apache.commons.beanutils.ConvertUtils { //将object转化成int型 public static int intConvert(Object object){ String str = object==null?null:object.toString(); Object obj = org.apache.commons.beanutils.ConvertUtils.convert(str, Integer.class); Integer i= (Integer)obj; return i; } //将任意的Object转换成string public static String stringConvert(Object object){ Object obj = org.apache.commons.beanutils.ConvertUtils.convert(object); String string = (String) obj; return string; } public static boolean booleanConvert(Object object){ String str = object == null?null:object.toString(); Object obj = org.apache.commons.beanutils.ConvertUtils.convert(str, Boolean.class); boolean b =(Boolean)obj; return b; } public static void main(String[] arg) { System.out.println(intConvert("123")); System.out.println(stringConvert(456.2)); System.out.println(booleanConvert("true")); } }
======================================================================================
使用PropertyUtils 将javaBean转化成Map
需要导入commons-beanutils.jar 和 commons-logging.jar
下面是两个javaBean
Author.java
package com.beanUtil; public class Author { private String name; public Author() { super(); } public String getName() { return name; } public void setName(String name) { this.name = name; } }
Book.java
package com.beanUtil; public class Book { private String name; private Author author; public String getName() { return name; } public void setName(String name) { this.name = name; } public Author getAuthor() { return author; } public void setAuthor(Author author) { this.author = author; } }Bean2Map.java
package com.beanUtil; import java.util.Map; import java.lang.reflect.InvocationTargetException; import org.apache.commons.beanutils.PropertyUtils; public class Bean2Map { @SuppressWarnings("unchecked") public static void main(String[] args) { Author author = new Author(); author.setName("wenliang.li"); Book book = new Book(); book.setName("pro spring"); book.setAuthor(author); // 取得book中的所有可读属性,返回到map中 Map<String,Book> bookMap = null; Map<String,Author> authorMap = null; try { bookMap = PropertyUtils.describe(book); // Book类中包含一个Author类型的属性 // 取bookMap中的author bean,并将其所有可读属性返回到authorMap中 authorMap = PropertyUtils.describe(bookMap.get("author")); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchMethodException e) { // TODO Auto-generated catch block e.printStackTrace(); } //输出 //Book Name: pro spring //Author Name: wenliang.li System.out.println("Book Name: " + bookMap.get("name")); System.out.println("Author Name: " + authorMap.get("name")); } }
==============================================================================================================
LazyDynaBean动态加载属性类,配合LazyDynaClass一起使用
//用法1
DynaProperty[] props=new DynaProperty[]{ new DynaProperty("name",String.class), new DynaProperty("age",Integer.class), new DynaProperty("birth",Date.class) }; LazyDynaClass dynaClass=new LazyDynaClass("user",LazyDynaBean.class,props); try { LazyDynaBean dynaBean = (LazyDynaBean) dynaClass.newInstance(); SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); dynaBean.set("name", "章子怡"); dynaBean.set("age", 16); dynaBean.set("birth", sdf.parse("1986-05-01")); StringBuilder sb=new StringBuilder(); sb.append("name:").append(dynaBean.get("name")) .append(",age:").append(dynaBean.get("age")) .append(",birth:").append(sdf.format(dynaBean.get("birth"))); System.out.println(sb.toString()); dynaBean.set("email", "yinhe2726@163.com"); System.out.println(dynaBean.get("email")); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } //用法2 DynaBean bean=new LazyDynaBean(); bean.set("name", "孙晓磊"); System.out.println(bean.get("name")); MutableDynaClass dc=(MutableDynaClass)bean.getDynaClass(); //获取可以动态添加属性的DynaClass类 System.out.println("----开始测试数组属性----"); dc.add("indexProp", int[].class); //添加整型数组属性 bean.set("indexProp", 0, 1); //给数组属性添加值 bean.set("indexProp", 1, 2); int[] indexProp=(int[]) bean.get("indexProp"); System.out.println(indexProp[1]); System.out.println("----开始测试LIST属性----"); bean.set("indexProp2", 0, "str1"); //直接添加属性,此时属性的类型是LIST或数组,此处是LIST bean.set("indexProp2", 1, "str2"); List list=(List) bean.get("indexProp2"); System.out.println(list.get(0)); System.out.println("----开始测试MAP属性----"); bean.set("mapProp","key1","value1"); //直接添加键值对,默认属性类型是MAP Map map=(Map)bean.get("mapProp"); System.out.println(map.get("key1")); dc.add("mapProp2", HashMap.class); //或者先设置属性类型,再添加 bean.set("mapProp2","mapProp2-key1","mapProp2-value1"); Map map2=(Map)bean.get("mapProp2"); System.out.println(map2.get("mapProp2-key1"));
发表评论
-
springboot 发布
2022-01-08 16:53 246java -jar spring-boot-druid-0.0 ... -
List 边遍历,边删除?
2020-07-17 16:51 504新手常犯的错误 可能很 ... -
servlet 文件上传
2012-08-10 10:52 1142org.apache.commons.fileupload 文 ... -
pdf 简单连接servlet
2012-07-25 10:05 1103protected void doGet(HttpSe ... -
应用 HttpClient 来对付各种顽固的WEB服务器
2012-04-11 17:38 985一般的情况下我们都是使用IE或者Navigator浏览器来访问 ... -
MAVEN2入门学习心得(4)-知识汇集
2012-01-11 14:16 1009一、创建Spring+Hibernate+Activiti+V ... -
MAVEN2入门学习心得(3)-仓库管理器Nexus相关
2012-01-11 14:11 1334以前觉得Nexus搭建太简单,没有留下学习重点,重新温习起来又 ... -
MAVEN2入门学习心得(2)-仓库相关
2012-01-11 14:08 1283MAVEN2的仓库基本可以分为主机仓库、代理仓库、本地仓库。 ... -
MAVEN2入门学习心得(1)-插件相关
2012-01-11 14:02 1155MAVEN2涉及到很多插件,掌握插件的学习方式很重要,要不然接 ... -
restful webserice
2011-08-11 20:06 945package com.onetown.action.admi ... -
java.lang.OutOfMemoryError: PermGen space及其解决方法
2011-08-05 10:00 870这个问题是我的工程中 ... -
ibatis 一级缓存 功能
2011-01-28 15:50 2128前几天和朋友讨论数据库Cache的时候,谈到了iBatis框架 ... -
内存溢出的解决
2011-01-28 15:07 1076内存溢出虽然很棘手 ... -
oracle sql 基础
2010-12-25 14:52 891视图; create or replace view my_v ... -
计算 上一个 工作日的 自定义函数
2010-09-06 10:31 1815算法描述 1.获取日期参数,然后自减一 2.判断该日期是否是 ... -
Java 简单 计算任意两个日期之间的工作天数
2010-09-06 09:20 1771主要思路: 对于任意2个日期比如:date_start=201 ... -
java file
2010-09-05 21:37 1281追加文件尾部 public void testPrintWri ... -
验证码
2010-08-31 09:07 1040package com.pa.util; import ... -
java List与Array 转换
2010-08-31 08:57 35483public static void main(String[ ... -
java property 配置文件 用法
2010-08-14 18:12 4977在我们平时写程序的时候,有些参数是经常改变的,而这种改变不是我 ...
相关推荐
总的来说,`BeanUtils`适用于直接的JavaBean属性复制,`Converter`适用于在Spring环境中进行自定义类型的转换,而`ConvertUtils`则更适用于简单的类型转换。在实际开发中,根据需求选择合适的方法,可以提高代码的...
这种方法的优点是简单易用,但缺点是功能相对有限,不支持自定义的XML格式,如命名空间、属性排序等。以下是一个简单的示例: ```java XMLEncoder encoder = new XMLEncoder(new FileOutputStream("output.xml"))...
虽然它主要用于Bean之间的属性复制,但它可以通过`ConvertUtils`类进行简单的类型转换,但不直接支持JSON或XML。 6. **Dozer** Dozer是一个Java Bean到Java Bean映射库,它也可以间接帮助进行JSON和XML的转换。...
下面是一个简单的`UtilDateConverter`示例: ```java package yg.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import org.apache.commons.beanutils....
在 Java 中,将 List 转换为 String 输出过程最简单的方法之一就是使用 List 里面的 `toString` 方法。下面是一个示例代码: ```java private void OutString() { List<Integer> integerList = Arrays.asList(1, 2...
8. **替代品和扩展**: 随着Java生态的发展,其他库如Dozer、ModelMapper等提供了更高级的属性映射和转换功能,但BeanUtils仍然因其简单易用和广泛支持而在许多项目中被使用。 通过下载并查看这个压缩包中的所有版本...
4. **类型转换**:`TypeConversionUtils`和`ConvertUtils`类支持不同类型的转换,使得在不同类型之间进行转换变得更加简单。 5. **枚举支持**:在Java 5之前,`EnumUtils`为枚举提供了支持,虽然Java 5之后引入了...
6. **类型转换**:TypeConverter接口和ConvertUtils子类提供了对象之间的类型转换,使得不同数据类型之间的转换变得简单。 7. **异常处理**:ExceptionUtils可以捕获、包装和处理异常,提供了一种更灵活的异常处理...
Apache Commons BeanUtils库则专注于JavaBeans的属性操作,它提供了一种简单的方式来处理Java对象的属性,实现了属性的设置和获取,以及对象之间的属性复制。以下是一些BeanUtils库的关键知识点: 1. **属性拷贝**...
**Validate** 类提供了一种简单的方式来验证方法参数的有效性,防止程序出现NullPointerException等异常。 ##### WordUtils **WordUtils** 类提供了处理单词的方法,如首字母大写、句子格式化等。 ##### commons....
这个“BeanUtil_Jar包”正是这样一个实用的工具集,它包含了丰富的功能,使得处理JavaBean的工作变得简单而高效。本文将深入探讨BeanUtil_Jar包的核心特性和使用方法,帮助开发者更好地理解和应用这个经典库。 首先...
BeanUtils工具的使用方法非常简单,首先需要导入commons-beanutils-1.9.2.jar和commons-logging.jar两个jar包,然后可以使用BeanUtils工具提供的几个方法,例如: * `BeanUtils.setProperty(bean, name, value)`: ...
ByteUtils:简单的编码和解码。 CharsetUtils:一些charset实用程序。 ConvertUtils:一些对话实用程序。 DateFormat:线程安全的日期格式化程序。 EncryptionUtils:加密和解密实用程序。 InetAddressUtils:...
使用 FileUpload 可以轻松地将文件上传功能集成到 Web 应用中。 - `FileItem` 类表示上传的文件或表单字段,提供了读取和写入数据的方法。 - `DiskFileItemFactory` 和 `ServletFileUpload` 用于创建和解析文件...
3. ConvertUtils:这个组件负责将值从一种类型转换为另一种类型,以便在不同类型的属性之间进行赋值。例如,它能够自动将字符串转换为整数或日期等。 4. CopyProperties:BeanUtils提供了一个`copyProperties()`...
- **SimpleDateFormat**:提供了一种简单的日期格式化方式。 - **StopWatch**:提供了一个简单的计时器。 ##### 1.5. commons.lang.enums包 提供了枚举类型的处理方法。 ##### 1.6. commons.lang.exception包 ...
- `StringUtil`:提供了诸如字符串分割、替换、比较、格式化等操作,使得处理字符串变得更加简单。 - `CharSequenceUtils`:扩展了对CharSequence接口的支持,如查找、替换、截取等,增强了对非String对象的操作...
转换相关→ConvertUtils.java→Test 每1个byte转为2个hex字符 bytes2HexString 每2个hex字符转为1个byte hexString2Bytes charArr转byteArr chars2Bytes byteArr转charArr bytes2Chars 设备相关→DeviceUtils.java ...