iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Spring中动态注入Bean的方法
  • 488
分享到

Spring中动态注入Bean的方法

springbean 2023-05-30 18:05:53 488人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关spring中动态注入Bean的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、基于标注的方式注入实例需要在Bean初始化之时,其依赖的对象必须初始化完毕。如果被注入的对

这篇文章将为大家详细讲解有关spring中动态注入Bean的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、基于标注的方式注入实例

需要在Bean初始化之时,其依赖的对象必须初始化完毕。如果被注入的对象初始化晚于当前对象,则注入的对象将为null.

1.1 @Autowired

按照类型来加载Spring管理的Bean。默认情况下要求其Bean必须存在。 如果其Bean为null,则可以设置其required属性为false。具体的详情,可以参照源代码:

@Target({ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD, ElementType.ANNOTATioN_TYPE})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic@interface Autowired {boolean required() default true;}

如果需要基于命令来注入Bean,则需要使用@Qualifier来标注名称,代码示例如下:

@Autwired@Qualifier("beanName")private BeanType beanObj;

应用范围: 变量, setter方法和构造函数之上。

来源: Spring框架

1.2 @Inject

由javax.inject.Inject提供,基于类型进行自动装配,如果需要按照名称进行转配,则需要配合使用@Named。这个使用方式和Spring框架提供的@Autowired非常类似。

应用范围: 变量、setter方法,构造函数

来源: jsR330规范 javax扩展包

代码示例:

@Inject@Named("beanName")private BeanType bean;

1.3 @Resource

默认是按照名称来装配注入的,只有当找不到与名称匹配的bean才会按照类型来装配注入。其有jdk 1.6之后提供的。

应用范围:可以应用到变量和setter方法之上

来源: JDK 1.6之后提供

代码使用示例:

@Resource(name="mybeanName")private BeanType bean;

二、动态注入的方式

思路: 基于ApplicationContextAware来获取ApplicationContext的引用,然后基于ApplicationContext进行对象的动态获取。

实现代码如下:

@Componentpublic class SprinGContextUtil implements ApplicationContextAware {// Spring应用上下文环境private static ApplicationContext applicationContext;public void setApplicationContext(ApplicationContext applicationContext) {SpringContextUtil.applicationContext = applicationContext;}public static ApplicationContext getApplicationContext() {return applicationContext;}public static Object getBean(String name) throws BeansException {return applicationContext.getBean(name);}}

之后就可以直接在代码中动态获取所需要的Bean实例了:

BeanType bean = SpringContextUtil.getBean("beanName")

关于“Spring中动态注入Bean的方法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: Spring中动态注入Bean的方法

本文链接: https://www.lsjlt.com/news/220316.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Spring中动态注入Bean的方法
    这篇文章将为大家详细讲解有关Spring中动态注入Bean的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、基于标注的方式注入实例需要在Bean初始化之时,其依赖的对象必须初始化完毕。如果被注入的对...
    99+
    2023-05-30
    spring bean
  • Spring中bean集合注入的方法详解
    目录Map注入List注入Set注入数组注入应用哈喽大家好啊,我是Hydra。 Spring作为项目中不可缺少的底层框架,提供的最基础的功能就是bean的管理了。bean的注入相信大...
    99+
    2022-11-13
  • Spring Bean集合注入和自动装配的方法
    本篇内容介绍了“Spring Bean集合注入和自动装配的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、Spring Be...
    99+
    2023-07-02
  • Spring运行时手动注入bean的方法实例
    有时候,会有这样一个需求,在程序运行时动态生成的对象,需要注入到Spring容器中进行管理。 下面是获取Bean以及注入Bean的工具类 import org.springframe...
    99+
    2022-11-13
  • Spring中bean集合注入的方法是什么
    这篇文章主要讲解了“Spring中bean集合注入的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spring中bean集合注入的方法是什么”吧!Spring作为项目中不可缺少的底...
    99+
    2023-07-02
  • Spring容器注入bean的方法有哪些
    本文小编为大家详细介绍“Spring容器注入bean的方法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Spring容器注入bean的方法有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。@Compon...
    99+
    2023-07-05
  • Spring Bean注册与注入实现方法详解
    目录1. 逻辑上的 Bean 注册2. XML 注册 Bean 到自建的库中2.1 工厂方法2.2 使用工厂方法和实例化工厂注册 Bean3. XML 配合注解进行 Bean 注册4...
    99+
    2022-11-13
    Spring Bean注册与注入 Spring Bean注册 Spring Bean注入
  • spring注入bean的方式有哪些
    Spring注入Bean的方式有以下几种:1. 构造器注入:通过构造器参数来注入依赖的Bean。2. Setter方法注入:通过调用...
    99+
    2023-09-05
    spring bean
  • spring中向一个单例bean中注入非单例bean的方法详解
    目录前言错误实例演示 实现ApplicationContextAware接口 lookup method lookup method签名 总结 前言 看到这个题目相信很多小伙伴都是懵...
    99+
    2022-11-12
  • Spring中获取Bean对象的三种注入方式与两种注入方法详解
    目录前言获取Bean对象的三种注入方式属性注⼊构造⽅法注⼊Setter 注⼊属性注⼊、构造⽅法注⼊和Setter 注⼊有什么区别呢?两种注入方法总结前言 获取 bean 对象也叫做对...
    99+
    2023-03-08
    spring什么时候注入bean spring注入的几种方式 注入bean
  • Spring容器注入bean的五种方法逐个解析
    目录前言@ComponentScan+@Component@Configuration+@Bean通过@Import注解1.直接导入类的class2.导入配置类3.导入ImportS...
    99+
    2023-02-20
    Spring注入bean Spring注入bean的方法
  • Spring Bean属性注入的方式有哪些
    这篇文章主要介绍“Spring Bean属性注入的方式有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Spring Bean属性注入的方式有哪些”文章能帮助大家解决问题。属性...
    99+
    2023-07-02
  • Spring单元测试控制Bean注入的方法是什么
    本篇内容介绍了“Spring单元测试控制Bean注入的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!通过xml文件进行注入在配置文...
    99+
    2023-07-05
  • Spring单元测试控制Bean注入的方式
    目录通过xml文件进行注入通过xml加注解方式进行注入通过注解进行注入@Component和@Configuration的区别使用FactoryBean通过@Import导入手动注入...
    99+
    2023-05-15
    Spring注入bean Spring注入bean的方法
  • Spring中获取Bean对象的注入方式有哪些
    本篇内容主要讲解“Spring中获取Bean对象的注入方式有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Spring中获取Bean对象的注入方式有哪些”吧!前言获取 bean 对象也叫做对...
    99+
    2023-07-05
  • 详解Spring Bean的集合注入和自动装配
    目录一、Spring Bean 集合注入集合常用标签案例二、Spring Bean自动装配什么是自动装配自动装配的方式案例注意点一、Spring Bean 集合注入 在【Spring...
    99+
    2022-11-13
  • spring中@Configuration和@Bean注解的用法
    目录概要定义注意概要 @Configuration里边定义@Bean,@Configuration相当于一个xml配置文件,@Bean就是xml中的<bean/> 定义 ...
    99+
    2023-05-20
    spring @Configuration spring @Bean spring注解
  • 向Spring IOC容器动态注册bean实现方式是什么
    本篇内容主要讲解“向Spring IOC容器动态注册bean实现方式是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“向Spring IOC容器动态注册bean实现方式是什...
    99+
    2023-07-02
  • Mock注入的Dubbo bean方法是什么
    这篇文章主要介绍“Mock注入的Dubbo bean方法是什么”,在日常操作中,相信很多人在Mock注入的Dubbo bean方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mock注入的Dubbo ...
    99+
    2023-06-19
  • Spring三种方法的注解自动注入问题
    目录Spring三种方法的注解自动注入1 @Autowired注解2 @Resource3 @InjectSpring 注解版 属性赋值 自动注入总结Spring三种方法的注解自动注...
    99+
    2022-12-28
    Spring注解 Spring自动注入 Spring注解自动注入
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作