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

  • 相关阅读:
    SharePoint 2013 中的SQL Server 安全
    SharePoint 2013 的HTML5特性之响应式布局
    SharePoint 2013 一些小技巧
    SharePoint 2013 排错之"Code blocks are not allowed in this file"
    SharePoint 2013 创建搜索中心及搜索设置
    SharePoint 2013 使用PowerShell创建State Service
    SharePoint 2013 内容部署功能简介
    SharePoint 使用PowerShell恢复误删的网站集
    SharePoint 自定义WebPart之间的连接
    linux之misc及使用misc创建字符设备
  • 原文地址:https://www.cnblogs.com/softidea/p/6236554.html
Copyright © 2011-2022 走看看