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 传 ...
随机推荐
- 【初赛】CSP 2020 第一轮(初赛)模拟记录
感觉初赛不过关,洛谷上找了一套没做过的来练习. 顺便写了详细的题解. 试题用时:1h 单项选择: 第 1 题 十进制数 114 的相反数的 8 位二进制补码是: A.10001110 B.100011 ...
- Perl printf 函数
转载 Perl printf 函数
- 第2-3-5章 删除附件的接口开发-文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss
目录 5.4 接口开发-根据id删除附件 5.4.1 接口文档 5.4.2 代码实现 5.4.3 接口测试 5.4.4 测试ALI和FAST_DFS以及MINIO上传和删除的接口 5.4.4.1 阿里 ...
- css网页布局设置总结
目录 1 网页样式 1.1 引入方法 1.1.1内联样式 1.1.2内部样式表 1.1.3链接外部样式 1.1.4导入外部样式 1.2 基础语法 1.3 选择器的分类 1.3.1标记选择器 1.3.2 ...
- 更改jenkins插件地址为国内源地址
1.在插件管理里替换源地址 在这个界面往下拉,可看到URL地址,将其替换为:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-ce ...
- AssertionError: Class XXXXX missing "Meta.model" attribute
源码示例: from rest_framework import serializers from set.models import Set class SetSerializers(seriali ...
- MongoDB从入门到实战之MongoDB快速入门
前言 上一章节主要概述了MongoDB的优劣势.应用场景和发展史.这一章节将快速的概述一下MongoDB的基本概念,带领大家快速入门MongoDB这个文档型的NoSQL数据库. MongoDB从入门到 ...
- vulnhub靶场之HACKABLE: III
准备: 攻击机:虚拟机kali.本机win10. 靶机:Hackable: III,下载地址:https://download.vulnhub.com/hackable/hackable3.ova,下 ...
- 3、swagger调试
Swagger: 1.将项目中所有的接口展现在页面上,这样后端程序员就不需要专门为前端使用者编写专门的接口文档: 2.当接口更新之后,只需要修改代码中的Swagger描述就可以实时生成新的接口文档了, ...
- 【转载】VUE入门教程
vue-cli是官方提供的一个脚手架,用于快速生成一vue项目,有点类似java中使用maven构建项目 需要环境 Node.js : http://nodejs.cn/download/ 安装完后在 ...