Spring IOC Bean对象实例化的三种注入方式
---恢复内容开始---
在Spring IOC模块中Bean是非常重要的。在这里我想给大家讲讲关于Bean对象实例化的三种注入方式:
首先,我先讲一下关于Bean对象属性值的两种注入方式:set注入 和 构造注入
constructor-arg:通过构造函数注入。
property:通过setter对应的方法注入。
那么什么是注入:在Spring中对Bean属性赋值的过程我们称之为依赖注入
set注入是通过对象的set方法为对象属性赋值,构造注入是通过bean对象的构造方法为属性注入值.
set注入:通过封装类的属性,利用get和set方法调用属性,配置会先调用bean对象的无参构造函数构建对象,然后通过set方法为属性赋值。
在 Spring 配置文件中,用户可以通过 Bean 的属性 property 进行参数注入
这里设置userDao属性, ref表示引用,此时需要一个userDao的bean
<property name=
"userDao"
ref=
"userDao"
/>
构造注入:
当然假如对象提供了对应的构造方法也可以通过指定构造方法为属性注入值
实际项目中也可以构造注入和set注入混合使用。
注意:
依赖注入时可以将配置信息提取到properties文件中,然后通过spring表达式#{id.key}的方式提取数据。
可以在XML中添加
<util:properties id="cfg" location="classpath:configs.properties"/>
那么在Bean中可以:
其中#为spring表达式特殊标记,{}为表达式内容,cfg为util:properties 标签中定义的id. jdbcUser、jdbcPassword为配置文件等号左边的key
集合对象的注入:
在属性值集合的时候,在Bean配置文件中注入:
最后就是测试了
依赖对象值注入:
存在很多个Bean对象,这些对象之间会存在一定依赖关系,当某个Bean对象依赖于其它Bean对象,可以通过spring按照一定的规则(例如按类型或者按名字),进行依赖查找然后进行值的注入
- ModernPHP读书笔记(二) ——PHP开发标准
- iBatis.Net(6):Data Map(深入)
- iBatis.Net(5):Data Map(了解)
- ModernPHP读书笔记(三)——PHP的良好实践
- PHP开发过程的那些坑(一) ——对象拷贝
- PHP开发过程的那些坑(二) ——PHP empty函数
- Thinking in SQL系列之数据挖掘Apriori关联分析再现啤酒尿布神话
- PHP开发过程的那些坑(三) ——PHParray_shift函数
- CSS3弹性盒布局
- iBatis.Net(4):DataMapper API
- PHP开发过程的那些坑(四) ——PDO bindParam函数
- iBatis.Net(3):创建SqlMapper实例
- PHP开发过程的那些坑(五) ——PHP的empty()
- iBatis.Net(2):基本概念与配置
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- java编程思想第四版第八章习题
- java编程思想第四版第八章总结
- ESP32从网络获取天气OLED显示(附源码)
- 02 . Zabbix配置监控项及聚合图形
- 01 . GitLab简介及环境部署
- 03 . Prometheus监控容器和HTTP探针应用及服务发现
- java编程思想第四版第九章习题
- 03 . Django之腾讯云短信
- ESP32 MQTT连接到中移OneNET物联网平台(附源码)
- 01 . Docker原理部署及常用操作命令
- SSH原理常见应用升级及端口转发
- 01 . Linux常用命令
- 私人订制属于自己的Linux系统
- 04 . Docker安全与Docker底层实现
- 03 . Docker数据资源管理与网络