今天“白嫖”教学视频时,看到老师在使用@PostConstruct注解,于是在代码中引入了一下,此注解是Java自己的注解,一种JSR-250的规范,并不像网上一些朋友说到的是Spring提供的;另外、通过网上资料查看、从Java EE5规范开始,Servlet中增加了@PostConstruct和@PreDestroy来影响Servlet生命周期的注解
Java中该注解的说明:PostConstruct注释用于在完成依赖注入以执行任何初始化之后需要执行的方法。必须在类投入服务之前调用此方法。支持依赖注入的所有类都必须支持此批注。即使类不请求注入任何资源,也必须调用用PostConstruct注释的方法。只有一个方法可以使用此批注进行批注.....
被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。PreDestroy()方法在destroy()方法知性之后执行
如果想在生成对象时完成某些初始化操作,而偏偏这些初始化操作又依赖于依赖注入,那么久无法在构造函数中实现。为此,可以使用@PostConstruct注解一个方法来完成初始化,@PostConstruct注解的方法将会在依赖注入完成后被自动调用。
加载顺序Constructor(构造函数) > @Autowired(依赖注入) > @PostConstruct(被注解的方法)