Spring Boot 获取 bean 的 3 种方式 还有谁不会?

注意:调用者要被spring管理

方式一

PostConstruct注释用于在依赖关系注入完成之后需要执行的方法上,以执行任何初始化。此方法必须在将类放入服务之前调用。

支持依赖关系注入的所有类都必须支持此注释。即使类没有请求注入任何资源,用PostConstruct注释是方法也必须被调用。只有一个方法可以用此注释进行注释。

应用PostConstruct注释的方法必须遵守以下所有标准:

(1)该方法不得有任何参数,除非是在EJB拦截器(interceptor)的情况下,根据EJB规定的定义,在这种情况下它将带有一个InvocationContext对象;

(2)该方法的返回类型必须为void;

(3)该方法不得抛出已检查异常;

(4)应用PostConstruct的方法可以是public、protected、package private或private

  (5)除了应用程序客户端之外,该方法不能是static;

(6)该方法可以是final;

(7)如果该方法抛出未检查异常,那么不得将类放入服务中,除非是能够处理异常并可从中恢复的EJB。

方式二

启动类ApplicationContext

实现方式:在springboot的启动类中,定义static变量ApplicationContext,利用容器的getBean方法获得依赖对象。

 调用方式

方式三

手动注入ApplicationContext

调用方式

以上三种方式楼主都测试过可以为完美使用。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容