Spring基础09——Bean的自动装配
1.XML配置的Bean自动装配
SpringIOC容器可以自动装配Bean,需要做的仅仅是在<bean>的autowire属性里指定自动装配的模式,而不需要手工去指定要装配的Bean,autowire属性有两个值byName和byType,分别对应按照名称装配和按照类型装配。
—byName:根据bean的名字和bean setter风格的属性名进行自动装配,若有匹配的则进行装配,如果没有则不进行装配
—byType:根据bean的类型进行装配,如果有一个以上该类型的bean那么就会报错。 自动装配的xml配置文件:
<bean id="address" class="com.wzy.autowire.Address" p:city="HangZhou" p:street="XI XI Street"/>
<bean id="car" class="com.wzy.autowire.Car" p:brand="AUDI" p:price="1000000"/>
<!--手动装配-->
<!--<bean id="person" class="com.wzy.autowire.Person" p:name="wzy" p:address-ref="address" p:car-ref="car"/>-->
<!--自动装配:autowire通过名字装配与javabean属性名一致-->
<!--byName:根据bean的名字和bean setter风格的属性名进行自动装配,若有匹配的则进行装配,如果没有则不进行装配-->
<!--byType:根据bean的类型进行装配,如果有一个以上该类型的bean那么就会报错-->
<bean id="person" class="com.wzy.autowire.Person" p:name="wzy" autowire="byType"/>
注意:这里通过名字自动装配的bean中属性的名字必须要和spring中配置的bean的id完全相同,且拥有对应属性的setter方法,才能进行自动装配。
通过类型进行装配,如果容器中有一个以上类型的bean那么就会发生错误。 通过名称自动装配属性名必须和bean的id对应。 Bean中属性的名字:
自动装配bean的名字:

2.自动装配的缺点
1)如果一个使用自动装配,那么所有的都得使用自动装配。
2)一旦指定byType和byName不能兼得,两者不能同时兼得。
3)一般情况下,在实际的项目中很少使用自动装配功能,因为和自动装配功能带来的好处相比起来,明确清晰的配置文档更有说服力一些。
Spring基础09——Bean的自动装配的更多相关文章
- Spring基础篇——bean的自动化装配
上篇博文讲Spring的IOC容器时说道,虽然容器功能强大,但容器本身只是个空壳,需要我们主动放入装配对象,并告诉它对象之间的协作关系,然后容器才能按照我们的指示发挥它的魔力,完成装配bean的使命. ...
- Spring基础——在 Spring Config 文件中基于 XML 的 Bean 的自动装配
一.Spring IOC 容器支持自动装配 Bean,所谓自动装配是指,不需要通过 <property> 或 <constructor-arg> 为 Bean 的属性注入值的过 ...
- spring实战四之Bean的自动装配(注解方式)
使用注解装配: 从spring2.5开始,Spring启用了使用注解自动装配Bean的属性,使用注解方式自动装配与在XML中使用 autowire 属性自动装配并没有太大区别,但是使用注解方式允许更细 ...
- spring实战二之Bean的自动装配(非注解方式)
Bean的自动装配 自动装配(autowiring)有助于减少甚至消除配置<property>元素和<constructor-arg>元素,让Spring自动识别如何装配Bea ...
- Spring入门(5)-自动装配Bean属性
Spring入门(5)-自动装配Bean属性 本文介绍如何装配Bean属性. 0. 目录 ByName ByType constructor 默认自动装配 混合使用自动装配和显示装配 1. ByNam ...
- Spring(三):bean的自动装配
Bean的自动装配 自动装配是Spring满足bean依赖的一种方式. Spring会在上下文中自动寻找,并自动给bean装配属性 Spring中三种装配方式 在xml中显式的配置. 在java中显式 ...
- Spring学习03(Bean的自动装配)
6.Bean的自动装配 6.1 自动装配说明 自动装配是使用spring满足bean依赖的一种方法 spring会在应用上下文中为某个bean寻找其依赖的bean. Spring中bean的三种装配机 ...
- bean的自动装配,使用注解开发,使用java的方式配置Spring
bean的自动装配 自动装配是Spring满足bean依赖一种方式! Spring会在上下文中自动寻找,并自动给bean装配属性! 在Spring中有三种装配的方式 在xml中显示的配置 在java中 ...
- Spring bean的自动装配属性
bean的自动装配属性能简化xml文件配置. bean 的自动装配属性分为四种: 1.byName 2.byTyoe 3.constructor 4. autodetect byName: 它查找配置 ...
随机推荐
- CSS 阴影应用
1.背景阴影的使用 box-shadow:1px 1px 1px 1px #ccccccc inset; 说明:第一个参数为水平阴影的大小.第二个为垂直阴影的大小(值可以为负数).第三个参数是阴影模糊 ...
- [design pattern](5) Factory Method
前言 在前面一章博主介绍了简单工厂模式(Simple Factory),接着上面的章节,今天博主就来介绍下工厂方法模式(Factory Method). 思考题 首先,让我们来思考下面的问题: 在上一 ...
- Vue学习(二) :第一个Vue项目
OS: Windows 10 Home 64bit Chocolatey version: 0.10.13 npm version: 6.4.1 yarn version: 1.16.0 git ve ...
- nodejs 简单的搭建一个服务器
前言: nodejs 主要是后台语言 node 是在终端运行的,所以他可以进行 dos 命令 模块 自定义 JavaScript 是前台语言 nodejs 是 也是使用我们的 JavaScript ...
- nginx检查报错:nginx: [emerg] "server" directive is not allowed here in
想检查一个配置文件是否正确,-c 指定之后发现有报错,如下: [root@op-2:~# nginx -t -c /etc/nginx/conf.d/default.conf nginx: [emer ...
- Apache hadoop namenode ha和yarn ha ---HDFS高可用性
HDFS高可用性Hadoop HDFS 的两大问题:NameNode单点:虽然有StandbyNameNode,但是冷备方案,达不到高可用--阶段性的合并edits和fsimage,以缩短集群启动的时 ...
- Django 基于角色的权限控制
有一种场景, 要求为用户赋予一个角色, 基于角色(比如后管理员,总编, 编辑), 用户拥有相应的权限(比如管理员拥有所有权限, 总编可以增删改查, 编辑只能增改, 有些页面的按钮也只有某些角色才能查看 ...
- 用seborn的函数distplot(), jointplot(), pairplt()对数据的单变量分析绘图
1.用seaborn的distplot()函数绘制直方图.参数kde = True时会把分布曲线也画出来. 如下代码所示是绘制标准正态分布的分布图 import seaborn as sns impo ...
- 学习kettle遇到的问题
一. 解决mysql连接缺少驱动问题:http://www.mamicode.com/info-detail-1724584.html 1.下载驱动 https://dev.mysql.com/dow ...
- Grafana配置文件
配置文件位置 /usr/local/opt/grafana/share/grafana/default.ini /usr/local/etc/grafana/grafana.ini 配置文件调用顺序 ...
