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

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

  但是需要注意:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

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

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

  启动项目,输出如下:

Hello! 
Bye!

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

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄