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的自动装配的更多相关文章

  1. Spring基础篇——bean的自动化装配

    上篇博文讲Spring的IOC容器时说道,虽然容器功能强大,但容器本身只是个空壳,需要我们主动放入装配对象,并告诉它对象之间的协作关系,然后容器才能按照我们的指示发挥它的魔力,完成装配bean的使命. ...

  2. Spring基础——在 Spring Config 文件中基于 XML 的 Bean 的自动装配

    一.Spring IOC 容器支持自动装配 Bean,所谓自动装配是指,不需要通过 <property> 或 <constructor-arg> 为 Bean 的属性注入值的过 ...

  3. spring实战四之Bean的自动装配(注解方式)

    使用注解装配: 从spring2.5开始,Spring启用了使用注解自动装配Bean的属性,使用注解方式自动装配与在XML中使用 autowire 属性自动装配并没有太大区别,但是使用注解方式允许更细 ...

  4. spring实战二之Bean的自动装配(非注解方式)

    Bean的自动装配 自动装配(autowiring)有助于减少甚至消除配置<property>元素和<constructor-arg>元素,让Spring自动识别如何装配Bea ...

  5. Spring入门(5)-自动装配Bean属性

    Spring入门(5)-自动装配Bean属性 本文介绍如何装配Bean属性. 0. 目录 ByName ByType constructor 默认自动装配 混合使用自动装配和显示装配 1. ByNam ...

  6. Spring(三):bean的自动装配

    Bean的自动装配 自动装配是Spring满足bean依赖的一种方式. Spring会在上下文中自动寻找,并自动给bean装配属性 Spring中三种装配方式 在xml中显式的配置. 在java中显式 ...

  7. Spring学习03(Bean的自动装配)

    6.Bean的自动装配 6.1 自动装配说明 自动装配是使用spring满足bean依赖的一种方法 spring会在应用上下文中为某个bean寻找其依赖的bean. Spring中bean的三种装配机 ...

  8. bean的自动装配,使用注解开发,使用java的方式配置Spring

    bean的自动装配 自动装配是Spring满足bean依赖一种方式! Spring会在上下文中自动寻找,并自动给bean装配属性! 在Spring中有三种装配的方式 在xml中显示的配置 在java中 ...

  9. Spring bean的自动装配属性

    bean的自动装配属性能简化xml文件配置. bean 的自动装配属性分为四种: 1.byName 2.byTyoe 3.constructor 4. autodetect byName: 它查找配置 ...

随机推荐

  1. es之零停机重新索引数据

    实际生产,对于文档的操作,偶尔会遇到这种问题: 某一个字段的类型不符合后期的业务了,但是当前的索引已经创建了,我们知道es在字段的mapping建立后就不可再次修改mapping的值 比如: 1): ...

  2. WebView:是应用程序打开web网页的UI控件前台

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools= ...

  3. CentOS7修改计算机名!

    https://www.cnblogs.com/acgpiano/p/4170546.html sudo hostnamectl set-hostname <host-name>

  4. leetcode-easy-array-1 two sum

    mycode  33.91% class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: for i ...

  5. association实现懒加载分段级联查询

    这里讲的是人员和部门进行级联分布查询 1.首先在mybatis-config.xml里进行配置 <settings> <!--显示的指定每个我们需要更改的配置的值,即使他是默认的.防 ...

  6. Latex常用公式整理

    目录 常用 常用数学公式 常用希腊字母 说明:博客园中的Latex编辑是以$ latex公式 $,为边界. 1.常用 描述 Latex公式 表达式 下标 x_2 x2 上标 x^2 x2  分数 \f ...

  7. ps 和 pstree的用法

    ps 查看某个具体的命令进程: ps -C cmd-name: 如: ps -C httpd // 如果有多个名字相同的进程, 如httpd... 应该是它下面的子进程, 这时会显示第一个进程id. ...

  8. http-server 建立 HTTPS 服务

    1. 创建证书 进入要建立 HTTPS 服务的目录 openssl genrsa -out key.pem 1024 openssl req -new -key key.pem -out csr.pe ...

  9. Delphi驱动方式WINIO模拟按键 可用

    http://www.delphitop.com/html/yingjian/152.html Delphi驱动方式WINIO模拟按键 作者:admin 来源:未知 日期:2010/2/1 1:14: ...

  10. mysql --> select * from Employee group by name这样的语法有什么意义?

    神奇的mysql才会支持select * from Employee group by name 这种反逻辑的SQL(假定该表非仅name一个列) mysql 的逻辑是:select 的返回字段,如果 ...