SpringInAction--自动化装配Bean(隐式装配)
关于Bean的介绍就具体不多介绍了,,,
Spring在配置时候有三种方案可选
1、在xml中进行显示配置
2、在java中进行显示配置
3、隐式的Bean发现机制和自动装配
今天学习的就是自动化装配Bean
Spring又可以从两个角度来实现自动化装配:
1、组建扫描【component scanning】 spring会自动发现应用上下文所创建的bean
2、自动装配【autowiring】 spring自动满足bean之间的依赖
根据Spring In Action的例子 CD插入到CD播放器中才可以播放。。
既然要有CD那么就先创建一个CD的接口类:
package com.bean.auto; /**
* Created by IntelliJ IDEA.
* Author XueYuan
* Data 2017/02/21
* Time 20:55
*/
public interface CompactDisc { void play();
}
好了CD接口类创建好了,下面就要选择从众多的CD中选择一个喜欢的歌 那就选择 国荣哥哥的 当年情 吧
package com.bean.auto; import org.springframework.stereotype.Component; /**
* Created by IntelliJ IDEA.
* Author XueYuan
* Data 2017/02/21
* Time 20:56
*/ /**
* Bean配置方法:
* |- @Component 注解表示这个类我要把它创建成bean
* |- @Component("XXX") XXX表示bean的标识名字
* |- @Named("XXX") XXX表示bean的标识名字
*/ @Component
public class DangNianQing implements CompactDisc { private String title = "DangNianQing";
private String artist = "张国荣"; public void play() {
System.out.println("Playing " + title + " By " + artist);
}
}
其实这个类中最重要的是 @Component 这个主要的就是告诉你: 我现在是一个变身成bean家族的一员了,下面你可以追我了啊 哈哈哈:)
@Component("XXX") 与 @Named("XXX") 都是一样的作用,他们三个的区别就是
1、使用的 @Component 的时候如果你没有定义一个bean的名字给他的话,他就会默认给你起一个即类名首字母变小些—— dangNianQIng
2、使用 @Component("XXX") 的时候 跟 1 没有多大区别,就是起得名字不一样 ,比如狗蛋啊 二娃啊啥的
3、使用 @Named("XXX") 的时候 使用的是Java依赖注入规范中提供的@Named注解。Spring大肚能容,两种方式都支持,虽然两者有细微的差异,差异在于@Named要求必须起名字,而@Component则不必要,见
SpringInAction--自动化装配Bean(隐式装配)的更多相关文章
- Spring装配Bean之XML装配bean
在Spring刚出现的时候,XML是描述配置的主要方式,在Spring的名义下,我们创建了无数行XML代码.在一定程度上,Spring成为了XML的同义词. 现在随着强大的自动化配置和Java代码的配 ...
- SpringInAction--自动化装配Bean(显示装配之xml配置)
Spring在配置时候有三种方案可选 1.在xml中进行显示配置 2.在java中进行显示配置 3.隐式的Bean发现机制和自动装配 今天学习的 第一种—— 在xml中进行显示配置 老规矩 先创建 C ...
- java之Spring(IOC)装配Bean(手动装配、自动装配、注解装配)
在上一篇控制反转中我们看到了依靠一个Bean文件来实现对代码的控制,可谓十分便捷,再也不用去实例化对象了,2333~~~ 1.手动装配 <bean id="todo" cla ...
- 第2章—装配Bean—通过XML装配Bean
通过XML装配Bean 尽管我们在生成Bean的过程中可以用到很多方法,但我们依然需要Spring的XML配置来完善更多的需求,下面就来介绍下XML装配Bean的过程是怎样的. 3.1创建XML配 ...
- 二、Spring装配Bean
内容 声明bean 构造器注入和Setter方法注入 装配Bean 控制bean的创建和销毁 关键词 装配(wiring) 组件扫描(component scanning) 自动装配(AutoWiri ...
- Spring装配bean(在java中进行显式配置)
1.简单介绍 Spring提供了三种装配机制: 1.在XML中进行显式配置: 2.在java中进行显式配置: 3.隐式的bean发现机制和自动装配. 其中,1和3项在项目中经常使用,而在java中进行 ...
- 装配bean
spring有三种装配bean的方式:隐式装配.java代码装配.xml装配 隐式装配最为省事方便,也称为自动化装配 这三种装配方式可以混搭着来用 在这里通过一个例子来讲述配置 CD的两个实现,一个是 ...
- Spring学习笔记(二)之装配Bean
一,介绍Bean的装配机制 在Spring中,容器负责对象的创建并通过DI来协调对象之间的关系.但是我们要告诉Spring创建哪些Bean并且如何将其装配在一起.,装配wiring就是DI依赖注入的本 ...
- JAVA入门[13]-Spring装配Bean
一.概要 Sping装配bean主要有三种装配机制: 在XML中进行显式配置. 在Java中进行显式配置. 隐式的bean发现机制和自动装配. 原则: 建议尽可能地使用自动配置的机制,显式配置越少越好 ...
随机推荐
- iOS 动态调用方法
- (void)bugly { dispatch_async(dispatch_get_global_queue(0, 0), ^{ if (NSClassFromString(@"Bu ...
- linux lanmp一件安装包
转载地址:http://lamp.phpstudy.net/ phpStudy Linux版&Win版同步上线 支持Apache/Nginx/Tengine/Lighttpd/IIS7/8/6 ...
- No module named _tkinter
https://www.douban.com/note/524197380/?type=like
- Linux内存管理的基本框架⭐⭐
Linux内核的映射机制设计成三层,在页面目录和页面表中间增设了一层“中间目录”.在代码中,页面目录称为PGD,中间目录称为PMD,而页面表称为PT.PT中的表项称为PTE,PTE是“Page Tab ...
- scrapy之手机app抓包爬虫
手机App抓包爬虫 1. items.py class DouyuspiderItem(scrapy.Item): name = scrapy.Field()# 存储照片的名字 imagesUrls ...
- python正则表达式 Python Re模块
最近在学python 练习的时候随手写的,方便以后自己参考~如果能对其他同学有所帮助就再好不过了 希望大家指正哦~ 我会随时整理的,先这样~ 正则表达式 1.元字符([ ]),它用来指定一个char ...
- 一致性hash演示
看到点关于一致性hash的说明,觉得挺有意思,就想体验一下. 上代码看看,体会一下在一致性hash环境下的cache和获取. 因为是小代码演示,没有很细致,包括hash函数就是用取余操作,但活生生的显 ...
- Canvas绘制不规则图形,实现可拖动,编辑--V1.0第一篇
目前的工作在做在线的标注工具,接触canvas一年了,各种绘制,基本上图像的交互canvas都可以完成,也写了几篇关于canvas的文章,遇到的问题也写博客上了,对于canvas有问题的朋友可以去看看 ...
- VS2017编译项目出现提示al.exe运行失败的解决方法
VS2013中编译一切正常,用VS2017打开项目,某个类库出现al.exe运行失败的解决方法,事件查看器中这样描述 “C:\Program Files (x86)\Microsoft SDKs\Wi ...
- weblogic 12c重置console密码
su - oracle cd /u02/weblogic/user_projects/domains/base_domain source bin/setDomainEnv.sh cd /u02/ ...