@PostConstruct注解的继承问题

2022-07-04  本文已影响0人  M_lear

子类重写父类带有@PostConstruct注解的方法,子类方法可以继承到@PostConstruct注解的效果。

父类:

public abstract class AbstractParent {

    @PostConstruct
    protected void init() {
        System.out.println("AbstractParent的init方法");
    }
}

子类:

@Component
public class Child extends AbstractParent{

    @Override
    protected void init() {
        System.out.println("Child的init方法");
    }

//    @PostConstruct
//    private void init1() {
//        System.out.println("Child的init1方法");
//    }
}

启动项目,输出:


image.png

子类:

@Component
public class Child extends AbstractParent{

    @Override
    protected void init() {
        System.out.println("Child的init方法");
    }

    @PostConstruct
    private void init1() {
        System.out.println("Child的init1方法");
    }
}

启动后输出:


image.png

子类:

@Component
public class Child extends AbstractParent{

//    @Override
//    protected void init() {
//        System.out.println("Child的init方法");
//    }

    @PostConstruct
    private void init1() {
        System.out.println("Child的init1方法");
    }
}

启动后输出:


image.png

如果没有重写,子类@PostConstruct方法执行前会先执行父类@PostConstruct方法。

上一篇 下一篇

猜你喜欢

热点阅读