子类重写父类带有@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方法");
// }
}
启动项目,输出:

子类:
@Component
public class Child extends AbstractParent{
@Override
protected void init() {
System.out.println("Child的init方法");
}
@PostConstruct
private void init1() {
System.out.println("Child的init1方法");
}
}
启动后输出:

子类:
@Component
public class Child extends AbstractParent{
// @Override
// protected void init() {
// System.out.println("Child的init方法");
// }
@PostConstruct
private void init1() {
System.out.println("Child的init1方法");
}
}
启动后输出:

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