`

cglib中的两个工具类BeanMap,BeanCopier

    博客分类:
  • JAVA
 
阅读更多

         这两天看了下cglib的一些源码,发现BeanMap和BeanCopier在工作中应该可以用到,虽然已经apache和spring的相关工具类可以用了,但是多一个工具类也不嫌多嘛,况且BeanCopier的速度会更快一些。

          1.BeanMap本身是实现了Map的接口,将对象转成Map很方便使用

          2.不同对象的属性的COPY

          

import net.sf.cglib.beans.BeanCopier;
import net.sf.cglib.beans.BeanMap;


public class Test {

	public static void main(String[] args) {
		Test t = new Test();
		User u = t.new User();
		u.setAge(25);
		u.setName("mike");
          BeanMap  m = BeanMap.create(u);
          System.out.println(m.get("name")+","+m.get("age"));
        
		Person p = t.new Person();
                BeanCopier b = BeanCopier.create(User.class, Person.class, false);
         b.copy(u, p, null);
         System.out.println(p.toString());
	}
	public class Person{
		private String name;
		@Override
		public String toString() {
			return "Person [name=" + name + ", age=" + age + "]";
		}
		private int age;
		
		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;
		}
	}
	public class User{
		private String name;
		private int age;
		
		public User(){
			
		}
		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;
		}
	}

}

 

    结果:

    mike,25

    Person [name=mike, age=25]

  

   更多参考:

  http://czj4451.iteye.com/blog/1998750

  http://www.iteye.com/topic/799827

0
0
分享到:
评论

相关推荐

    开发工具 cglib-3.2.4

    开发工具 cglib-3.2.4开发工具 cglib-3.2.4开发工具 cglib-3.2.4开发工具 cglib-3.2.4开发工具 cglib-3.2.4开发工具 cglib-3.2.4开发工具 cglib-3.2.4开发工具 cglib-3.2.4开发工具 cglib-3.2.4开发工具 cglib-3.2.4...

    cglib动态代理用到的两个包

    cglib动态代理用到的两个包 cglib动态代理用到的两个包 cglib动态代理用到的两个包

    cglib动态生成java类

    cglib动态生成java类

    cglib-2.2.2.jar(修订版)

    如果你遇到这个异常,可以尝试这个修改过的jar包 at net.sf.cglib.core.ReflectUtils.getMethodInfo(ReflectUtils.java:424) at net.sf.cglib.beans.BeanCopier$Generator.generateClass(BeanCopier.java:133) at...

    CGLIB简介 CGLIB简介 CGLIB简介 CGLIB简介

    CGLIB简介CGLIB简介CGLIB简介CGLIB简介CGLIB简介

    CGLIB动态代理类库

    使用CGLIB扩展对象行为的原理是:对目标对象进行继承扩展,为其生成相应的子类,而子类可以通过覆写来扩展父类的行为,只要将横切逻辑的实现放到子类中,然后让系统使用扩展后的目标对象的子类,就可以达到与代理...

    cglib-3.1-API文档-中文版.zip

    赠送jar包:cglib-3.1.jar; 赠送原API文档:cglib-3.1-javadoc.jar; 赠送源代码:cglib-3.1-sources.jar; 赠送Maven依赖信息文件:cglib-3.1.pom; 包含翻译后的API文档:cglib-3.1-javadoc-API文档-中文(简体)版...

    cglib创建代理类.rar

    springAOP等框架中,大量用到代理技术;...两类代理技术: 1,java动态代理,见JDK文档或相关java书; 2.cglib创建代理类,比第一种更加简单,代理类和背代理类不需要实现共同接口。本例子就是cglib代理的例子,很简单

    cglib.jar下载

    CGLIB原理:动态生成一个要代理类的子类,子类重写要代理的类的所有不是final的方法。在子类中采用方法拦截的技术拦截所有父类方法的调用,顺势织入横切逻辑。它比使用java反射的JDK动态代理要快。 CGLIB底层:使用...

    Spring cglib 中文说明

    GLIB是一个功能强大,高性能的代码生成包。

    spring-bean 依赖的cglib jar包

    spring-bean 源码依赖的jar包,用于spring源码部署的时候使用

    cglib包及依赖汉cglib3.1和asm4.2

    cglib包及依赖汉cglib3.1和asm4.2,主要作用是用户代理,代理为控制要访问的目标对象提供了一种途径。当访问对象时,它引入了一个间接的层。JDK自从1.3版本开始,就引入了动态代理,并且经常被用来动态地创建代理。...

    CGlib动态代理类所需的jar包

    CGlib动态代理类jar包,一共两个jar包,模拟CGlib动态代理用得到。

    cglib的依赖包

    cglib

    cglib_cglib.zip

    cglib.zip

    cglib动态代理

    cglib和asm搭配的jar,方便你使用动态代理

    CGlib动态代理类的jar包

    CGlib动态代理类jar包,一共四个jar包,模拟CGlib动态代理用得到。

    Bean复制的几种框架性能比较(Apache BeanUtils、PropertyUtils,Spring BeanUtils,Cglib BeanCopier

    NULL 博文链接:https://m635674608.iteye.com/blog/2270455

    cglib-3.2.0.jar

    CGLIB是一个强大的高性能的代码生成包。它广泛的被许多AOP的框架使用,例如Spring AOP和dynaop,为他们提供方法的interception(拦截)。最流行的OR Mapping工具hibernate也使用CGLIB来代理单端single-ended(多对一...

Global site tag (gtag.js) - Google Analytics