• InitializingBean afterPropertiesSet



    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方法

  • 相关阅读:
    使用微信公众号搭建免费查券返利机器人来赚佣金详细教程分享
    概率论_复习_第7章:参数估计
    BP神经网络的数据分类——语音特征信号分类
    典型神经网络及应用论文,神经网络架构论文题目
    【小白使用-已验证】PhpStudy下载安装使用教程23.10.17
    Linux系统镜像备忘
    R语言——朴素贝叶斯文本分类
    微信小程序实现tabbar凹凸圆选中动画
    常见注释的格式
    平均110万个漏洞被积压,企业漏洞管理状况堪忧
  • 原文地址:https://blog.csdn.net/Sapphire521/article/details/128181189