有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

未调用java Spring子类后构造方法?

我有一个类的层次结构,所有这些类都有一些PostConstruct注释方法的实现,但是我注意到,尽管我定义的bean是最低级别的子类的实现,但是子类的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 complete!”和“B施工后完成!”打印到日志,但不打印到C或D行。然而,C类的一些方法显然正在被调用,但是D的PostConstruct方法末尾的一个特定行肯定不会被调用

我不知道这是否重要,但“LOG”对象是一个log4j记录器


共 (0) 个答案