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按照一定的规则(例如按类型或者按名字),进行依赖查找然后进行值的注入
这个注入由于时间关系就没有写了,大家可以去网上找一下
---恢复内容结束---
最新文章
- java中的权限修饰符的理解
- c语言详解sizeof
- State模式
- Android开发之Action Bar
- bzoj 1006: [HNOI2008]神奇的国度 弦图的染色问题&;&;弦图的完美消除序列
- SmartFoxServer 2x的pythonclient
- logstash grok 解析Nginx
- imgur.py
- OC语言的Block与Protocol(协议)
- C# System.Windows.Forms.NumericUpDown 控件全选其中文字
- BZOJ 2741: 【FOTILE模拟赛】L [分块 可持久化Trie]
- 【网络流】【BZOJ1001】狼抓兔子
- (转)Vue种key的作用
- NiftyNet开源平台的使用 -- 配置文件
- Confluence 6 使用 JConsole 监控本地 Confluence
- React琐碎
- BZOJ3207花神的嘲讽计划Ⅰ——主席树+hash
- python --- 07 补充( join 删除和添加 fromkeys ) 深浅拷贝
- 二叉树的镜像(python)
- RyuBook1.0案例二:Traffic Monitor项目源码分析