Person[name=Jack,age=10]
style==null:Person@deb6432[name=Jack,age=10,password=Jack'sPassword]
SHORT_PREFIX_STYLE:Person[name=Jack,age=10,password=Jack'sPassword]
SIMPLE_STYLE:Jack,10,Jack'sPassword
MULTI_LINE_STYLE:Person@deb6432[
name=Jack
age=10
password=Jack'sPassword
]
NO_FIELD_NAMES_STYLE:Person@deb6432[Jack,10,Jack'sPassword]
import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import java.lang.reflect.Field;
import java.util.Objects; public class StringUtilsDemo {
public static void main(String[] args) {
Person person = new Person();
person.setName("Jack");
person.setPassword("Jack'sPassword");
person.setAge((short) 10);
System.out.println("" + person);
System.out.println("style==null:" + ReflectionToStringBuilder.toString(person));
System.out.println("SHORT_PREFIX_STYLE:" + ReflectionToStringBuilder.toString(person, ToStringStyle.SHORT_PREFIX_STYLE));//截去了包名
System.out.println("SIMPLE_STYLE:" + ReflectionToStringBuilder.toString(person, ToStringStyle.SIMPLE_STYLE));
System.out.println("MULTI_LINE_STYLE:" + ReflectionToStringBuilder.toString(person, ToStringStyle.MULTI_LINE_STYLE));
System.out.println("NO_FIELD_NAMES_STYLE:" + ReflectionToStringBuilder.toString(person, ToStringStyle.NO_FIELD_NAMES_STYLE)); }
} class Person {
private String name;
private Short age;
private String password; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public Short getAge() {
return age;
} public void setAge(Short age) {
this.age = age;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} @Override
public String toString() {
return new ReflectionToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE) {
@Override
protected boolean accept(Field field) {
return super.accept(field) && !Objects.equals(field.getName(), "password");
}
}.toString();
} }

package org.test.InitializingBean;

import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
* 测试 spring的 InitializingBean 接口
* @author Administrator
*
*/
public class InitializingBeanTest { /**
* @param args
*/
public static void main(String[] args) { ClassPathXmlApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml",
InitializingBeanTest.class);
ctx.start(); } }
package org.test.InitializingBean;

import org.springframework.beans.factory.InitializingBean;

/**
* @see {@link org.springframework.beans.factory.InitializingBean#afterPropertiesSet}
* @author Administrator
*
*/
public class User implements InitializingBean { public User() {
System.out.println(">>>>>>> User 默认的构造函数执行了");
} @Override
public void afterPropertiesSet() throws Exception {
System.out.println(">>>>>>> 执行了 afterPropertiesSet 方法"); } }

执行的结果如下图所示。可以看到当执行完User默认的构造函数之后,就会调用该类实现afterPropertiesSet方法

最新文章

  1. C#入门基础三
  2. Win 10 开发中Adaptive磁贴模板的XML文档结构,Win10 应用开发中自适应Toast通知的XML文档结构
  3. 电磁兼容设计经验(转载 原文电子科技大学硕士毕业论文DDS扩频技术研究)
  4. 出现Warning:Gradle version 2.10 is required. Current version is 2.8.
  5. 搭建你的持续集成server - CruiseControl step by step(1)
  6. 设计模式——工厂模式(Factory)
  7. Python 学习——高阶函数 filter 和 sorted
  8. 201521123093 java 第三周学习总结
  9. Spring 具名参数NamedParameterJdbcTemplate
  10. ArcGIS中实现指定面积蜂窝(正六边形)方法
  11. python学习之路前端-jQuery
  12. python语法_文件操作
  13. 斐讯 天天牛绑定教程 邀请码:8vozbf
  14. guxh的python笔记十:包和模块
  15. Java流程控制语句
  16. js 停止事件冒泡 阻止浏览器的默认行为(比如阻止超连接 # )
  17. eval、exec、execfile
  18. excel拼接数据宏
  19. 使用phpMyAdmin管理网站数据库(创建、导入、导出…)
  20. ssm整合(Spring+SpringMVC+Mybatis)

热门文章

  1. javascript双击事件取消默认的两次单击事件
  2. virtual box ubuntu卡在开机光标
  3. Nginx 笔记与总结(9)rewrite 重写规则
  4. Unity3D之游戏架构脚本该如何来写(转)
  5. java-访问权限
  6. 浅谈XML
  7. Connection Management and Security
  8. Ubuntu/Deepin下常用软件汇总(持续更新)
  9. ubuntu下opencv在Qt中的使用
  10. 文件对比工具Beyond Compare使用方法