美文网首页
浅谈java中初始化执行方法InitializingBean、P

浅谈java中初始化执行方法InitializingBean、P

作者: 杭宇_8ba6 | 来源:发表于2019-03-12 17:15 被阅读0次

    spring初始化目前有三种方式

    1.实现InitializingBean接口,继而实现afterPropertiesSet的方法
    2.反射原理,配置文件使用init-method标签直接注入bean
    <bean id="initMethodBean" class="com.InitRuleBean" init-method="initMethod"></bean>
    3.@PostConstruct注解

    撸代码

    /**
     * @Title:
     * @Auther: hangyu
     * @Date: 2019/3/12
     * @Description
     * @Version:1.0
     */
    public class InitRuleBean implements InitializingBean {
    
        /**
         * 构造函数
         */
        public InitRuleBean(){
            System.out.println("InitRuleBean");
        }
    
    
        @Override
        public void afterPropertiesSet() throws Exception {
            System.out.println("afterPropertiesSet");
        }
    
        @PostConstruct
        public void postConstruct(){
            System.out.println("postConstruct");
        }
    
        public void initMethod() {
            System.out.println("initMethod");
        }
    }
    
       <bean class="com.InitRuleBean" init-method="initMethod"></bean>
    

    启动项目,打印结果
    2019-03-12 16:54:43.915 INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService
    InitRuleBean
    postConstruct
    afterPropertiesSet
    initMethod

    实践出真知:通过上述输出结果,三者的先后顺序也就一目了然了:
    Constructor(构造器) > @PostConstruct > InitializingBean > init-method

    相关文章

      网友评论

          本文标题:浅谈java中初始化执行方法InitializingBean、P

          本文链接:https://www.haomeiwen.com/subject/kfpnpqtx.html