Spring6 DI 依赖注入--Bean属性赋值
Spring6基于XML实现Bean 管理(属性赋值)
IOC和DI有什么区别:DI是IOC中的具体实现,DI表示依赖注入或注入属性,注入属性要在创建对象的基础之上完成
依赖注入方法
bean属性赋值方法只有一种:构造器注入(之所以这么说是为了便于记忆),我们知道构造器有两种: 无参构造,有参构造。这两种方法最终都是要调用set方法完成。
有参构造属性赋值
<!--有参构造注入属性 name-->
<bean id="" class="">
<!--属性:可以根据有参构造函数的参数名(name),
值:value 或ref(外部BEAN)引用
-->
<constructor-arg name="" value=""></constructor-arg>
<constructor-arg name="" value=""></constructor-arg>
</bean>
<!-- 使用构造方法注入属性 index -->
<bean id="" class="">
<!--
属性:也可以根据使用参数索引 (index)
值:value 或 ref(外部bean)引用
-->
<constructor-arg index="0" ref=""/>
<constructor-arg index="1" value=""/>
</bean>
无参构造属性赋值
无参构造+set方法实现,实体类中要有属性的set 方法和无无参构造函数
<!--set方法注入属性-->
<bean id="" class="">
<!--使用property完成属性注入
name:类里面属性名称
value:向属性注入的值 或ref 外部bean引用
-->
<property name="" value=""></property>
<property name="" value=""></property>
</bean>
属性赋值--特殊值
<bean id="" class="">
<!--设置属性为空-->
<property name="">
<null/>
</property>
<!-- 属性值包含特殊符号 把带特殊符号内容写到CDATA
-->
<property name="">
<value><![CDATA[任意值]]></value>
</property>
</bean>
在给属性赋值时,如果对象的属性A类型为对象B,那么可以在A的bean中对B的属性赋值,
<bean id='b' class=''>
<property name='c' value=''>
</bean> <bean id='a' class=''>
<property name='mm' value=''>
<property name='nn' ref='b'>
<!-- 给属性的属性赋值 叫做级联赋值-->
<property name='b.c' value=''>
</bean>
Bean标签的其它属性
scope属性值
在spring配置文件bean标签里面有属性scope用于设置单实例还是多实例。
singleton,表示单实例对象: 加载spring配置文件就会创建单实例对象
prototype,表示多实例对象 :在调用getBean方法创建多实例对象。
autowire自动装配
<bean id="" class ="" autowire="">
</bean>
byName 根据属性名称进行注入,bean的id要和类的属性名称一致
byType 根据类型(class)注入,此时同一个类的bean定义要保证唯一
Spring6 DI 依赖注入--Bean属性赋值的更多相关文章
- [转载]Spring下IOC容器和DI(依赖注入) @Bean及@Autowired
Spring下IOC容器和DI(依赖注入) @Bean及@Autowired自动装配 bean是什么 bean在spring中可以理解为一个对象.理解这个对象需要换一种角度,即可将spring看做一门 ...
- 依赖注入Bean属性
一.Bean属性依赖注入 对于类成员变量,注入方式有三种 •构造函数注入 •属性setter方法注入 •接口注入 Spring支持前两种 1.构造函数 属性注入 使用构造方法注入,在Spring配置文 ...
- 依赖注入Bean属性——手动装配Bean
一.构造方法注入 其中,可以根据不同的参数列表调用不同的重载的构造方法: 其中,基本数据类型没有包,引用类型都有包路径,基本类型对应封装类: 二.通过property标签调用类的set方法注入 三.通 ...
- 初识Spring框架实现IOC和DI(依赖注入)
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的, IoC是 ...
- Spring详解(三)------DI依赖注入
上一篇博客我们主要讲解了IOC控制反转,也就是说IOC 让程序员不在关注怎么去创建对象,而是关注与对象创建之后的操作,把对象的创建.初始化.销毁等工作交给spring容器来做.那么创建对象的时候,有可 ...
- Spring:(二)DI依赖注入方式
DI 依赖注入 DI(Dependency Injection)依赖注入,说简单一点就将类里面的属性在创建类的过程中给属性赋值,即将对象依赖属性(简单值,集合,对象)通过配置设值给该对象. 属性注入的 ...
- JAVAWEB 一一 Spirng(框架,IOC控制反转,DI依赖注入)
jar包 applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <bea ...
- Spring-初识Spring框架-IOC控制反转(DI依赖注入)
---恢复内容开始--- IOC :控制反转 (DI:依赖注入)使用ioc模式开发 实体类必须有无参构造方法1.搭建Spring环境下载jarhttp://maven.springframework. ...
- Spring学习——DI(依赖注入)
IOC容器,处理对象依赖关系 IOC与DI: IOC :是一个容器,创建对象的容器 DI :在容器创建对象后,处理对象的依赖关系,也叫依赖注入! 方式1:通过set方法注入值 可以给普通属性.集合属性 ...
- 三大框架 之 Spring(IOC控制反转、DI依赖注入)
目录 常用词汇 left join与left outer join的区别 Struts2的标签库导入 Spring Spring概述 什么是Spring spring特点 下载 IOC 什么IOC 传 ...
随机推荐
- BERT模型源码解析
BERT模型源码解析 modeling.py 目录 属性 类 class BertConfig(object) BERT模型配置参数类 class BertModel(object) BERT ...
- 2022-11-13 Acwing每日一题
本系列所有题目均为Acwing课的内容,发表博客既是为了学习总结,加深自己的印象,同时也是为了以后回过头来看时,不会感叹虚度光阴罢了,因此如果出现错误,欢迎大家能够指出错误,我会认真改正的.同时也希望 ...
- hashcat 命令
hashcat --force --stdout -a 6 tmp.txt ?d?d?d?d?d?d?d > result.txt tips:将tmp.txt字典中的内容与7位随机掩码字符组合, ...
- Java lambda表达式基本使用
代码示例:java.lambda.LambdaExpression 1 本质 lambda表达式本质上是对匿名内部类实例的一种简化写法. 1.1 案例 有以下List<Integer>对象 ...
- SocketException 不知道这样的主机(Quartz.;Dns.GetHostEntry;new HttpChannel)问题记录
今天发现自己封装的一个Quartz服务无法启动了,跟踪代码才发现了一个问题是因为数字计算机名称导致的,修改了下计算机名称解决了问题.
- APACHE正向代理配置
Apache快速安装和反向代理配置:https://www.cnblogs.com/brad93/p/16718104.html Apache正向代理配置参考教程:https://www.cnblog ...
- Django基础笔记5(Session)
Session cookie:保存在客户端浏览器上的键值对 session:保存在服务器端的数据 保持会话 def index(req): v = req.session.get('use ...
- 【每日一题】【遍历orSet】2022年2月1日-NC66 两个链表的第一个公共结点
描述输入两个无环的单向链表,找出它们的第一个公共结点,如果没有公共节点则返回空.(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的) 输入描述:输入分为是3段,第 ...
- 记录一次缓存引起的线上BUG
背景 有一个需求大概是这样的,为了提高推荐系统的性能,需要本来从A服务获取的帖子信息,改为从Redis里面重新读取 Redis里面没有存帖子的所有信息,只存储了推荐系统必要的字段 大概是这样的: 至于 ...
- PHP-表单传值
一.传值引入 了解传值必须要先知道为什么需要传值? 传值的主要作用是为了实现用户数据的定制化,用户与服务端的互交 二.传值的方式 虽然 http协议中有很多数据传输的方式,但在PHP中只有 POST ...