没有调用Spring子类PostConstruct方法?

时间:2018-05-04 13:34:23

标签: java spring

我有一个类的层次结构,它们都有一些PostConstruct注释方法的实现,但是我注意到尽管我已经定义了bean作为最低级子类的实现,但是子类和#39;没有调用PostConstruct方法。

例如,我有以下四个类。

public class A {
    @PostConstruct
    public void postConstruct() {
        LOG.info("A PostConstruct complete!");
    }
}

public class B extends A {
    @PostConstruct
    public void postConstruct() {
        super.postConstruct();
        LOG.info("B PostConstruct complete!");
    }
}

public class C extends B {
    @PostConstruct
    public void postConstruct() {
        super.postConstruct();
        LOG.info("C PostConstruct complete!");
    }
}

public class D extends C {
    @PostConstruct
    public void postConstruct() {
        super.postConstruct();
        LOG.info("D PostConstruct complete!");
    }
}

通过此设置,线条" A PostConstruct完成!"和" B PostConstruct完成!"打印到日志,但不打印到C或D行。但是,C类的一些方法显然被调用了,但是D的PostConstruct方法结尾的一个特定行肯定没有被击中。

我不知道这是否重要,但是" LOG" object是一个log4j记录器。

0 个答案:

没有答案