一、简介:

Spring能够进行自动化的装配,它使用两种方式来进行自动化装配:
  1、组件扫描:
  Spring会自动发现应用上下文中所创建的bean
  2、自动装配:
  Spring会自动满足bean之间的依赖关系

比较有趣的是,Spring的自动化装配使用了零xml配置,而是使用全代码配置,其中代码的配置文件使用@Configuration注解进行标注。

二、组件扫描:

@Component能给一个类自动生成对象并注入到Spring容器中,比如下面的CDPlayer,会自动new一个CDPlayer的对象并放置到Spring容器中。

我们知道,Spring容器中每个bean都有自己唯一的一个id,那么自动注入的bean的id为多少呢?经测试,其规则如下:

1、如果@Component中有值,类似
@Component("xxx")
那么此bean的id即为xxx

2、如果类名为第一个字母大写,第二个字母小写,即满足首字母大写的驼峰命令规则,比如CdPlayer,。
那么其bean的id第一个字母要小写,其余不变,所以最终为cdplayer

3、如果不满足规则1,比如CDPlayer
那么其bean的id跟类名相同,所以最终为CDPlayer

1、
  Player:
  public interface Player {

Spring Bean之JavaConfig自动化装配bean相关推荐

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

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

  2. Spring入门(二):自动化装配bean

    Spring从两个角度来实现自动化装配: 组件扫描(component scanning):Spring会自动发现应用上下文中需要创建的bean. 自动装配(autowiring):Spring会自动 ...

  3. Spring实战之二:装配Bean

    2.1 Spring配置的可选方案 Spring提供了三种装配机制: 在XML中显式配置 在Java中显式配置 隐式的bean发现机制和自动装配 Best Practice:尽可能使用自动配置的机制, ...

  4. 第2章—装配Bean—自动化装配Bean

    自动化装配Bean 2.1.Spring配置可选方案 ​ 装配是依赖注入DI的本质,Spring提供了以下三种注入的装配机制: 在XMl中进行显式配置 在java中进行显式配置 隐式的Bean发现机制 ...

  5. Spring 自动化装配Bean

    声明一张cd的接口: public interface CompactDisc {public abstract void play(); } 实现cd接口: @Component("Sgt ...

  6. Spring学习之Spring三种装配机制:(一)自动化装配bean

    装配:创建应用组件(对象)之间的协作的行为,这也是Spring依赖注入(DI)的本质. Spring提供了三种装配机制: 隐式的自动装配bean: 通过java代码装配bean(显示): 通XML中装 ...

  7. Spring实战01——自动化装配bean

    自动装配bean 的四种方式: 首先定义一个类,使用@Configuration 标注类成为配置类,然后有下面四种方式: 1.配置类使用@ComponentScan 注解扫描指定包下的类,默认是扫描同 ...

  8. Spring实战——通过Java代码装配bean

    上篇说的是无需半行xml配置完成bean的自动化注入.这篇仍然不要任何xml配置,通过Java代码也能达到同样的效果. 这么说,是要把上篇的料拿出来再煮一遍? 当然不是,上篇我们几乎都在用注解的方式如 ...

  9. Spring常用注解,自动扫描装配Bean

    1 引入context命名空间(在Spring的配置文件中),配置文件如下: Xml代码 xmlns:context="http://www.springframework.org/sche ...

最新文章

  1. 实验吧—部分MISC Write up
  2. RHEL7.2系统下的软件管理(yum)、本地yum源和网络yum源的搭建
  3. 如何使用git rm 删除文件名里带空格的文件名
  4. MarkDown 中使用 LaTeX 数学式
  5. 05-windows下SQL Developer连接Orcale
  6. 退出命令_利好消息!上级命令:乡村医生满60岁要办退出手续
  7. iPad上浏览超大图像,kakadu和Jpeg2000在iOS上的例程
  8. ASP.NET Core 入门教程 6、ASP.NET Core MVC 视图布局入门 1
  9. linux下无法执行PHP命令,错误 php: command not found
  10. vue 组建中data函数的思考
  11. Excel导入oracle的几种方法
  12. 入门程序员如何写博客
  13. VS2019下载地址和安装教程(图解)
  14. 网络舆情监测TOOM
  15. libmodbus 封装成dll_Windows Visual Studio 2017 编译 libmodbus
  16. AJAX,Axio异步框架(对原生AJAX封装)。web分区
  17. t’触发器真值表和状态方程_t触发器(d触发器真值表)
  18. Back键失效的原因分析及解决(基于Android 4.4.3源码分析)
  19. 关于nextInt()、next()和nextLine()的用法
  20. 计算机考csp200分啥水平,计算机与信息工程学院成功举办第20次CCF CSP认证考试

热门文章

  1. “钱三篇”后续之复利现值
  2. 换频道——假想《道德经》与量子力学的一些联系
  3. PTHREAD_PRIO_INHERIT 的翻译
  4. 先锋性能服务器,12月8日部分服务器先锋体验开服公告
  5. android实现天气预报App(1)——全国省、市、县三级列表
  6. J9数字论:区块链上的智能合约是什么?
  7. linux下通过命令行把文件拷贝到U盘上
  8. 用Vue2.5和Elemnt-ui2搭建一个后台模版:提高篇(1.搭建框架)
  9. 被讯搜虐得怀疑人生?那是你不知道正确打开方式,收下这份笔记吧
  10. Tomcat的服务器介绍