JAVA 输出javabean属性方法 详解 利用common包~~~important

今天开始学习Jakarta Commons Lang,看的是O'Reilly的《Jakarta Commons Cookbook》。

ReflectionToStringBuilder类是用来实现类中的toString()方法的类,它采用Java反射机制(Reflection),通过reflection包中的AccessibleObject类绕过访问控制而直接存取对象的私有成员。因此在使用该类时,要注意运行环境的安全策略。



 
  
###打印javabean的各个属性:
1.应用场景: 在调用WS时候,往往需要查看此时的调用(请求)参数类query,中各个参数设置是否正确,
此时希望应该打印出各个属性与其值。
2.方法: 在此请求类中覆写tostring函数,并在函数中加入common包的ReflectionToString.toString(this)函数搞定!
public String toString() { return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE); }
打印: System.out.println(cqc) 即可。 (此句自动调用tostring方法)
3.PS:tostring函数的作用:
 
  
-object 总而言之,它只是sun公司开发java的时候为了方便所有类的字符串操作而特意加入的一个方法 
所有对象都有toString()这个方法,因为它是Object里面已经有了的方法,而所有类都是继承Object,所以“所有对象都有这个方法” 

-它通常只是为了方便输出,比如System.out.println(xx),括号里面的“xx”如果不是String类型的话,就自动调用xx的toString()方法
4.ReflectionToStringBuilder类是用来实现类中的toString()方法的类,它采用Java反射机制(Reflection),通过reflection包中的AccessibleObject类绕过访问控制而直接存取对象的私有成员。因此在使用该类时,要注意运行环境的安全策略。
--------------------------------

看完了ReflectionToStringBuilder后,发现一个问题是输出的内容过多,如果想对toString()方法输出的内容进行定制,则需要使用ToStringBuilder和ToStringStyle这两个类。
ToStringBuilder类中的append方法可以向该类添加基本类型、数组和对象 ,只有添加的方法才会被toString方法输出。
ToStringStyle类则是对输出的内容进行格式化。
例:

     public  String toString()  {
        
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append(
"name", name)
                .append(
"age", age)
                .toString();
    }
其它的功能可以参考Jakarta Commons的文档。

你可能感兴趣的:(【Java,EE,后台开发】)