在Spring中自动装配Bean的属性
作者:李灿辉 发布时间:2022-01-29 07:01:28
Spring的最基本的能力就是DI,即依赖注入,或控制反转,它可以为Bean注入其依赖的其他Bean。
一个Bean依赖其他Bean一般是通过在Bean中定义其他Bean的成员变量的方式来实现的,那么,Spring的DI也就表现为给Bean的属性自动注入值。
这一般分为以下其中情况。
1,自动注入基本类型。
自动注入基本类型,即当一个Bean有一些基本类型的属性时,例如String
,double
,int
等类型的属性时,我们可以在xml中自动为这些属性注入值。虽然这也成为自动注入的一种,但严格来讲,这种注入并不算是真正意义上的依赖注入,充其量算是一种初始化方式或赋值方式。就一个具有真实意义的可运行系统而言,依赖,主要指的是不同组件,不同类之间相互依赖,协作完成一项工作。从这个角度来讲,DI更应该指的是下面的第2种情况。
自动注入基本类型,通过property
标签的value属性来完成。
2,注入其他Bean类型的属性。
即如果一个Bean有另外一个Bean或者说类类型的成员变量,那么我们可以通过DI对该属性进行自动注入。这种情况应该算是真正意义上的自动注入。
注入其他Bean类型的属性,通过property标签的ref属性来完成。
3,注入List类型的属性。
如果一个Bean有一个List类型的属性,那么我们可以在xml中完成对它的注入。至于该属性是基本类型的list还是其他Bean的list,这里都可以支持。
4,注入map类型的属性。
如果一个Bean有一个Map类型的属性,那么我们可以在xml中完成对它的自动注入。
This is the end。
来源:https://blog.csdn.net/li_canhui/article/details/85223096


猜你喜欢
- 为什么我们要爬取数据在大数据时代,我们要获取更多数据,就要进行数据的挖掘、分析、筛选,比如当我们做一个项目的时候,需要大量真实的数据的时候,
- 一、容器初始化1、源码分析在jdk8的ConcurrentHashMap中一共有5个构造方法,这四个构造方法中都没有对内部的数组
- 最近几个项目的测试结果,Android无法主动通过调用 webview.loadUrl("javascript:"+ca
- 用Java编写一个简单的酒店管理系统,供大家参考,具体内容如下为某个酒店编写程序:酒店管理系统,模拟订房、退房、打印所有房间状态等功能。1、
- 消息发送过程消息的发送可能会经过 * 、序列化、分区器等过程。消息发送的主要涉及两个线程,分别为main线程和sender线程。如图所示,主
- 本文实例讲述了C#实现创建,删除,查找,配置虚拟目录的方法。分享给大家供大家参考。具体如下:#region<<虚拟目录>&
- 用法1 为原始类型扩展方法先说一下,this 后面跟的类型,就是要拓展方法的类型。注意要写在静态类中的静态方法,不然有些情况下访问/// &
- 有时候在配置中心有些参数是需要修改的,这时候如何不重启而达到实时生效的效果呢?添加依赖<dependencies>
- 单链表:insertFirst:在表头插入一个新的链接点,时间复杂度为O(1)deleteFirst:删除表头的链接点,时间复杂度为O(1)
- java对字符串进行utf-8编码我们在调用第三方 API 时,常常会被要求用到路径变量,而路径变量一般都是 utf-8 编码的,因此需要对
- 基本介绍BottomSheetDialog是底部操作控件,可在屏幕底部创建一个支持滑动关闭视图。目前依赖使用如下:implementatio
- package com.test.html;import com.alibaba.fastjson.JSON;import org.apac
- 理解C#中的闭包1、 闭包的含义首先闭包并不是针对某一特定语言的概念,而是一个通用的概念。除了在各个支持函数式编程的语言中,我们会接触到它。
- 1.首先看下我的项目结构我们逐个讲解/** * 用户登录配置类 * @author Administrator * */public cla
- 一个线程的生命周期:新建状态: 使用 new 关键字和 Thread 类或其子类建立一个线程对象后,该线程对象就处于新建状态。它保持这个状态
- 上一节我们做好了支付页面的显示,从上一节支
- 如下所示://读取json文件地址 /* String path = getClass().getClassLoader().g
- 对于clear与new Map的区别。我们首先来看一个例子,本例子是我在实际开发中遇到的,需求就是讲map放入到list中,说白了就是lis
- 视频演示:springboot+vue音乐网站摘要网络技术以及计算机的发展,网友们对网络的要求也日益长高,平常在网上听话用一大堆下载软件下载
- spring-boot-devtools是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去。原理是在发现