afterPropertiesSet() 方法的执行时机是怎样的?

889 阅读1分钟

afterPropertiesSet 方法是Spring框架提供的一个初始化回调接口InitializingBean中的方法。当一个bean实现了InitializingBean接口时,Spring容器会在所有必需的属性(也就是依赖注入完成后)被填充后调用afterPropertiesSet方法。这个方法主要用于执行一些初始化操作,比如初始化数据、打开资源连接等。

执行时机总结如下:

  1. Bean实例化:Spring首先通过反射创建Bean实例。
  2. 依赖注入:然后,Spring会根据配置完成对该Bean依赖的其他Bean的注入。
  3. Aware接口回调:如果Bean实现了如BeanNameAwareApplicationContextAware等Aware接口,Spring会依次调用这些接口的方法,传递相应的信息给Bean。
  4. @PostConstruct注解的方法调用:如果Bean中有标注了@PostConstruct的方法,接下来会调用这些方法。
  5. afterPropertiesSet()调用:之后,如果Bean实现了InitializingBean接口,Spring容器会调用afterPropertiesSet方法。
  6. 自定义初始化方法:如果在配置文件或@Bean注解中指定了init-method属性,Spring也会在afterPropertiesSet之后调用指定的初始化方法。

因此,afterPropertiesSet是在Bean的构造和依赖注入完成后,但在任何自定义初始化方法之前被调用的。开发者可以利用这个方法来进行需要在Bean完全构造好之后立即进行的初始化逻辑。