zoukankan      html  css  js  c++  java
  • 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方法

  • 相关阅读:
    Java集合框架--Collection
    xhprof windows下安装和使用(转载)
    什么是socket
    访问国外网络的卡顿问题
    关于go的通信通道channel——chan的一些问题
    关于go的入门书籍——go自学的序
    Linux中find常见用法示例 ·find path -option [ -print ] [ -exec -ok command ] {} ;
    php的一个有意思的命令:-S
    看看第一篇随笔的效果
    Mysql limit
  • 原文地址:https://www.cnblogs.com/softidea/p/6236554.html
Copyright © 2011-2022 走看看