美文网首页
浅谈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