Spring Bean之JavaConfig自动化装配bean
一、简介:
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相关推荐
- Spring学习系列(二) 自动化装配Bean
一.Spring装配-自动化装配 @Component和@ComponentScan 通过spring注解(@Component)来表明该类会作为组件类,并告知Spring要为这类创建bean,不过组 ...
- Spring入门(二):自动化装配bean
Spring从两个角度来实现自动化装配: 组件扫描(component scanning):Spring会自动发现应用上下文中需要创建的bean. 自动装配(autowiring):Spring会自动 ...
- Spring实战之二:装配Bean
2.1 Spring配置的可选方案 Spring提供了三种装配机制: 在XML中显式配置 在Java中显式配置 隐式的bean发现机制和自动装配 Best Practice:尽可能使用自动配置的机制, ...
- 第2章—装配Bean—自动化装配Bean
自动化装配Bean 2.1.Spring配置可选方案 装配是依赖注入DI的本质,Spring提供了以下三种注入的装配机制: 在XMl中进行显式配置 在java中进行显式配置 隐式的Bean发现机制 ...
- Spring 自动化装配Bean
声明一张cd的接口: public interface CompactDisc {public abstract void play(); } 实现cd接口: @Component("Sgt ...
- Spring学习之Spring三种装配机制:(一)自动化装配bean
装配:创建应用组件(对象)之间的协作的行为,这也是Spring依赖注入(DI)的本质. Spring提供了三种装配机制: 隐式的自动装配bean: 通过java代码装配bean(显示): 通XML中装 ...
- Spring实战01——自动化装配bean
自动装配bean 的四种方式: 首先定义一个类,使用@Configuration 标注类成为配置类,然后有下面四种方式: 1.配置类使用@ComponentScan 注解扫描指定包下的类,默认是扫描同 ...
- Spring实战——通过Java代码装配bean
上篇说的是无需半行xml配置完成bean的自动化注入.这篇仍然不要任何xml配置,通过Java代码也能达到同样的效果. 这么说,是要把上篇的料拿出来再煮一遍? 当然不是,上篇我们几乎都在用注解的方式如 ...
- Spring常用注解,自动扫描装配Bean
1 引入context命名空间(在Spring的配置文件中),配置文件如下: Xml代码 xmlns:context="http://www.springframework.org/sche ...
最新文章
- 实验吧—部分MISC Write up
- RHEL7.2系统下的软件管理(yum)、本地yum源和网络yum源的搭建
- 如何使用git rm 删除文件名里带空格的文件名
- MarkDown 中使用 LaTeX 数学式
- 05-windows下SQL Developer连接Orcale
- 退出命令_利好消息!上级命令:乡村医生满60岁要办退出手续
- iPad上浏览超大图像,kakadu和Jpeg2000在iOS上的例程
- ASP.NET Core 入门教程 6、ASP.NET Core MVC 视图布局入门 1
- linux下无法执行PHP命令,错误 php: command not found
- vue 组建中data函数的思考
- Excel导入oracle的几种方法
- 入门程序员如何写博客
- VS2019下载地址和安装教程(图解)
- 网络舆情监测TOOM
- libmodbus 封装成dll_Windows Visual Studio 2017 编译 libmodbus
- AJAX,Axio异步框架(对原生AJAX封装)。web分区
- t’触发器真值表和状态方程_t触发器(d触发器真值表)
- Back键失效的原因分析及解决(基于Android 4.4.3源码分析)
- 关于nextInt()、next()和nextLine()的用法
- 计算机考csp200分啥水平,计算机与信息工程学院成功举办第20次CCF CSP认证考试
热门文章
- “钱三篇”后续之复利现值
- 换频道——假想《道德经》与量子力学的一些联系
- PTHREAD_PRIO_INHERIT 的翻译
- 先锋性能服务器,12月8日部分服务器先锋体验开服公告
- android实现天气预报App(1)——全国省、市、县三级列表
- J9数字论:区块链上的智能合约是什么?
- linux下通过命令行把文件拷贝到U盘上
- 用Vue2.5和Elemnt-ui2搭建一个后台模版:提高篇(1.搭建框架)
- 被讯搜虐得怀疑人生?那是你不知道正确打开方式,收下这份笔记吧
- Tomcat的服务器介绍