`

Map和Bean的相互转换

    博客分类:
  • J2SE
 
阅读更多

 不多说了,直接上代码,以下内容实现限制,javaBean必须在一个单独的文件中,并且Bean要为public的。【这里需要依赖apache的commons-beanutils-1.7.0.jar】

转换类:

 

import java.lang.reflect.InvocationTargetException;
import java.util.Map;

import org.apache.commons.beanutils.BeanUtils;

public class test {
	
	
	public static void main(String[] args) {
		Person person1=new Person();
		person1.setName("name1");
		person1.setSex("sex1");
		Map<String, String> map=null;
		try {
			map = BeanUtils.describe(person1);
			
	//=============Bean转换成Map=======================//
			System.out.println(map.size()+">>>>>>>>>>>");
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			e.printStackTrace();
		} catch (NoSuchMethodException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		Person person=test.map2Bean(map, Person.class);
		System.out.println(person.getName());
	}

	/**
	 * 
	 * 
	 * Map转换层Bean,使用泛型免去了类型转换的麻烦。
	 * @param <T>
	 * @param map  
	 * @param class1
	 * @return
	 */
	public static <T> T map2Bean(Map<String, String> map, Class<T> class1) {
		T bean = null;
		try {
			bean = class1.newInstance();
			BeanUtils.populate(bean, map);
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			e.printStackTrace();
		}
		return bean;
	}
}

 

目标转换Bean类。

 

public class Person {

	public Person() {
	}

	private String name;
	private String sex;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}
}

 

 

 

分享到:
评论

相关推荐

    map 和 bean 之间的转换

    map 和 bean 之间的转换,可以利用反射的原理实现

    bean和map之间转换的帮助类

    主要实现bean和map之间的相互转换,主要提供两个方法beanToMap将bean转换成Map 和mapToBean 将Map转换成bean 每次下载都没有积分,不差积分的大神赞助点呗 写了这一小段代码,供新手学习,大神就别拍砖了 身板弱扛...

    xml和java bean互相转换工具包(简单易用)

    xml 与 bean 互相转换 工具类 1、bean类的属性需要遵守BEAN规范,否则 无法 读存BEAN值。 2、bean类的属性如果 是集合 只支持数组以及List、Map、Set。 3、bean类属性(boolean除外)前面两个字母要么全部小写,要么...

    Java Bean对象和Map相互转换.zip

    Java Bean对象和Map相互转换 使用Fastjson 和BeanMap 两种方式进行转换

    map与Javabean相互转换实例

    基本介绍使用反射将普通Javabean与map集合的相互转换实例,项目开发时编写自己的转换帮助类,更好满足开发时所需

    json转换bean

    json,bean,map,list之间相互转换

    json-lib及其依赖的包

    json与map、bean互相转换需要的jar包(共7个)

    Javabean和map相互转化方法代码示例

    主要介绍了Javabean和map相互转化方法示例,介绍了其通用方法代码,需要的朋友可以参考下。

    免费开源!!生成类型安全 bean 映射器的注释处理器

    MapStruct 是一个 Java注释处理器,用于为 Java bean 类生成类型安全且高性能的映射器。它使您免于手动编写映射代码,这是一项乏味且容易出错的任务。生成器带有合理的默认值和许多内置类型转换,但在配置或实现特殊...

    浅谈对象与Map相互转化

    主要介绍了利用BeanMap进行对象与Map的相互转换,在文中列举了完整代码,需要的朋友可以参考下。

    Java_HomeWork:java 作业

    - &gt; bean 的相互转化 TODO map 到 bean的复制,支持对象嵌套的复制,暂不支持带有列表的复制 bean 到 map 的复制,同上 bean 到 bean 的复制,相同属性名称的就能复制 完成带有列表的复制 map 到 json 的转化 ...

    jaxb和jackson的jar

    对xml和json和bean和Map的相互转化,只需一分谢谢好评

    JSON使用例子

    仅供学习,里面有json与list、map、bean格式相互转换的例子源代码

    gson-2.8.6.jar下载

    2. 支持复杂的Java对象和JSON的相互转换,例如支持Java泛型。 3. 支持用户自定义序列化和反序列化的规则。可以直接将gson和bean-validation框架结合,校验Java对象的字段。 4. 支持基本数据类型及其封装类型,...

    jackson-databind-3.0.0.jar下载

    2. 支持复杂对象与JSON的映射:支持Java类型如Map、List、数组以及自定义bean与JSON的相互转换。 3. 支持多种注解配置序列化和反序列化:支持@JsonIgnore, @JsonFormat, @JsonView等多种注解配置对象与JSON的映射方式...

    Java中驼峰与下划线相互转换

    1、驼峰命名法 /** * 驼峰式命名法 */ public static String toCamelCase(String s) { if (s == null) { return null; } s = s.toLowerCase();... StringBuilder sb = new StringBuilder(s.length());...

    json_jackson_junit_demo.zip

    json_jackson_junit_demo json 与 bean list map 相互转换

    jackson-jar

    基于属性访问或注解的方式将json和POJO对象互相转换, 受JAXB基于注解的处理方式启发。通过org.codehaus.jackson.map.ObjectMapper读写json数据。它包含两种类型: 3.1 Simple Data Binding 用于json和Java Maps, ...

    JavaBean与Excel 数据行转换工具

    excel-bean 主要功能是 JavaBean 与 Excel 数据行之间的互相转换,普通项目中都会有Excel的导入导出功能,使用该工具可以大大提高工作效率,使开发者不必关系复杂的Excel解析。 主要解决 Excel 行类型数据与 ...

    JavaServer Faces 2.0完全参考手册(JSF2.0中文版) 1/2

    5.1.3 把List和Map声明为托管bean 5.1.4 托管bean的相互依赖 5.1.5 使用EL设置托管属性 5.2 控制托管bean生命周期 5.3 JSF表达式语言 5.3.1 JSFl.1 与JSFl.2 之间表达式语言的关键区别 5.3.2 统一EL概念 5.3.3 值...

Global site tag (gtag.js) - Google Analytics