慎用Spring框架 - 子类会调用父类的@PostConstruct方法

如果一个类用@Service 或 @Component,那么只需要用@PostConstruct修饰某个方法,该方法能在类实例化的过程中自动执行,相当于类的构造函数。同时,具备了构造函数不具备的功能。

@Service
class Test{
    @PostConstruct
    public void sayHello(){
        System.out.println("Hello!");
    }
}

但是需要注意:

子类实例化过程中会调用父类中的@PostConstruct方法!

@Service 
class TestChild extends Test{
    @PostConstruct
    public void sayBye(){
        System.out.println("Bye!");
    }
}

启动项目,输出如下:
Hello!
Bye!

你可能感兴趣的:(spring)