一、PostConstruct
之前先来看一下Servlet的生命周期
Spring中有 Autowired Constructor PostConstrucotor
Spring 会先通过初始化Bean对象,遍历类中的Field属性来看看有没有给被@Autowired修饰的,如果有就注入赋值,然后在执行被@PostCOnnstructor 修饰的方法
Constructor >> @Autowired >> @PostConstructor
简而言之就是先 初始化Bean对象,然后依赖注入,最后再调用被@PostConstructor修饰的方法。
作用: 有时候一些操作需要在依赖注入之后才能才做,这时候就需要用到PostConstructor注解了
二、PreDestory
PreDetory 就是在销毁Bean容器之间执行的注解,比如有时候需要关闭一些连接的资源
原理类似于注册了一个钩子函数
RunTime.getRunTime().addShutdownHook(new Thread(new Runnable() {@Overridepublic void run() {logger.info("shutdown hook run");try {} catch(Exception e) {}}}));