前言

之前我们都是手动装配Bean,但是Spring里面有一个自动装配的方法!

一、自动装配是什么?

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

  • 1.在xml中显示的配置
  • 2.在java中显示的配置
  • 3.隐式的自动装配bean【重要】

二、使用步骤

1.需要的实体类

package com.shan.pojo;public class Cat {public void shout(){System.out.println("miao~");}
}
package com.shan.pojo;public class Cat {public void shout(){System.out.println("miao~");}
}
package com.shan.pojo;import lombok.Data;
import lombok.ToString;
import org.springframework.beans.factory.annotation.Autowired;@Data @ToString
public class People {@Autowiredprivate Dog dog;@Autowiredprivate Cat cat;private String name;
}

2.配置文件

    <!--先导入context约束,再配置注解的支持--><context:annotation-config/><bean id="dog" class="com.shan.pojo.Dog"/><bean id="cat" class="com.shan.pojo.Cat"/><!--手动装配--><bean id="people" class="com.shan.pojo.People"><property name="name" value="小黑神"/><property name="cat" ref="cat"/><property name="dog" ref="dog"/></bean><!--ByName会自动在容器上下文中查找,和自己对象set方法后面的值对应的bean id--><bean id="people" class="com.shan.pojo.People" autowire="byName"><property name="name" value="小黑神"/></bean><!--ByType会自动在容器上下文中查找,和自己对象属性类型相同的bean id--><bean id="people" class="com.shan.pojo.People" autowire="byType"><property name="name" value="小黑神"/></bean>

3.测试类

import com.shan.pojo.People;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class MyTest {@Testpublic void test1(){ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");People people = context.getBean("people", People.class);System.out.println(people.getName());people.getCat().shout();people.getDog().shout();}
}

测试结果:小黑神,miao,wang
说明自动装配成功装入了Bean

总结

配置文件中显示的装配非常简单,只需要弄清楚ByName和ByType达到的效果是什么即可!
ByName会自动在容器上下文中查找,和自己对象set方法后面的值对应的bean id;
ByType会自动在容器上下文中查找,和自己对象属性类型相同的bean id。

作者有话说

博客创作不易,希望看到这里的读者动动你的小手点个赞,如果喜欢的小伙伴可以一键三连,作者大大在这里给大家谢谢了。

Spring学习5之自动装配Bean01相关推荐

  1. Spring学习7之自动装配Bean03

    前言 接上节我们学习隐式的自动装配bean,今天我们学习用Java方式来配置bean! 一.如何用Java实现配置Bean 我们需要使用JavaConfig,一个配置类! 二.使用步骤 1.需要的实体 ...

  2. Spring学习6之自动装配Bean02

    前言 接上节我们使用配置文件进行了显示的配置,这节我们学习隐式的自动装配bean[重要]! 一.隐式的自动装配bean[重要] 就是使用注解进行配置,Spring2.5就支持注解开发了!!! 使用注解 ...

  3. Struts2与Spring集成中的自动装配策略

    http://www.blogjava.net/jeffma/archive/2010/11/30/339414.html 自动装配即bean之间的依赖关系无需手动配置. 1.    与自动装配有关的 ...

  4. Spring之Bean的自动装配

    Spring从入门到精通–(4)Spring之Bean的自动装配 作者:进击攻城狮 个人主页:欢迎访问我的主页 首发时间:2022年8月5日星期五 订阅专栏:Spring入门到精通 个人信条:星光不问 ...

  5. Spring依赖注入与自动装配

    Spring依赖注入与自动装配 首先推荐狂神说的Spring讲义 1.Beans.xml作用 简而言之,我们通过在beans.xml中进行配置,将各种类交给spring来管理. 2.依赖注入 推荐狂神 ...

  6. Spring基于注解的自动装配

    Spring基于注解的自动装配 基于XML的自动装配是在配置文件的bean里设置autowire属性,有byType,byName的方式.而基于注解的自动装配同样是这样只不过我们直接在成员变量上直接标 ...

  7. Java(Spring)学习笔记--->自动装配(autowire)

    这篇文章笔者和大家聊一聊自动装配,首先我们学习它的时候我们应该知道何为自动装配? 举个例子:一个人他有一只狗和一只猫,他有的 这两个动物就相当于这个人的名字一样,写在一个personn类中并且生成无参 ...

  8. 详解Spring中Bean的自动装配~

    目录 1. 环境搭建 2. byName.byType 3. 使用注解实现自动装配 @Autowired @Resource 小结 自动装配是Spring满足bean依赖的一种方式 Spring会在上 ...

  9. Spring学习系列(二) 自动化装配Bean

    一.Spring装配-自动化装配 @Component和@ComponentScan 通过spring注解(@Component)来表明该类会作为组件类,并告知Spring要为这类创建bean,不过组 ...

最新文章

  1. bat 域 本机管理员密码_域渗透——Local Administrator Password Solution
  2. 全球及中国电子式儿科呼吸机行业发展现状与市场销量调研报告2022版
  3. Dusktree System (1)
  4. PPT 2010实现使用自定义主题付下载
  5. codeforces 271A-C语言解题报告
  6. Spring学习(20)--- Schema-based AOP(基于配置的AOP实现) -- 配置切入点pointcut
  7. Angular4中常用管道
  8. 【学习笔记】浅识差分隐私
  9. C语言计算机题库第91套,二级c语言上机题库 2013年9月全国计算机等级考试二级C语言上机题库100套.doc...
  10. win7连接远程服务器特别慢,win7远程桌面连接速度慢的问题如何解决
  11. 【电子知识篇】放大器定义与分类
  12. Java基础(chapter207-chapter225)总结
  13. LaTeX排版_jlreq模板_文库本(A6)竖版
  14. 什么是RFID? 射频识别技术的特点及工作原理!
  15. 荣耀手表gs3和华为gt3 哪个好
  16. Hadoop配置lzo压缩
  17. nginx-http重定向到https配置
  18. mkconfig与Kconfig
  19. 微信小程序和百度小程序的登录 wx.login() swan.login() , 以及存在的问题处理
  20. 课代表|支付500万美元,为什么连FBI都无法解开美国油管的勒索软件密码?

热门文章

  1. php ldap 创建用户,PHP LDAP获取作为组成员的成员的用户详细信息
  2. sql 时间范围查询_Excel中使用SQL查询,单元格范围最多支持65536行?
  3. python类高级用法_十.python面向对象高级用法
  4. svn错误:Two top-level reports with no target
  5. 白话异常检测算法Isolation Forest
  6. android SQLite数据库用法图文详解(附源码)
  7. lucene源码分析(4)Similarity相似度算法
  8. 当我们在谈深度学习时,到底在谈论什么(二)--转
  9. 深入分析 iBATIS 框架之系统架构与映射原理--转载
  10. 转载--CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡