关于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(隐式装配)的更多相关文章

  1. Spring装配Bean之XML装配bean

    在Spring刚出现的时候,XML是描述配置的主要方式,在Spring的名义下,我们创建了无数行XML代码.在一定程度上,Spring成为了XML的同义词. 现在随着强大的自动化配置和Java代码的配 ...

  2. SpringInAction--自动化装配Bean(显示装配之xml配置)

    Spring在配置时候有三种方案可选 1.在xml中进行显示配置 2.在java中进行显示配置 3.隐式的Bean发现机制和自动装配 今天学习的 第一种—— 在xml中进行显示配置 老规矩 先创建 C ...

  3. java之Spring(IOC)装配Bean(手动装配、自动装配、注解装配)

    在上一篇控制反转中我们看到了依靠一个Bean文件来实现对代码的控制,可谓十分便捷,再也不用去实例化对象了,2333~~~ 1.手动装配 <bean id="todo" cla ...

  4. 第2章—装配Bean—通过XML装配Bean

    通过XML装配Bean ​ 尽管我们在生成Bean的过程中可以用到很多方法,但我们依然需要Spring的XML配置来完善更多的需求,下面就来介绍下XML装配Bean的过程是怎样的. 3.1创建XML配 ...

  5. 二、Spring装配Bean

    内容 声明bean 构造器注入和Setter方法注入 装配Bean 控制bean的创建和销毁 关键词 装配(wiring) 组件扫描(component scanning) 自动装配(AutoWiri ...

  6. Spring装配bean(在java中进行显式配置)

    1.简单介绍 Spring提供了三种装配机制: 1.在XML中进行显式配置: 2.在java中进行显式配置: 3.隐式的bean发现机制和自动装配. 其中,1和3项在项目中经常使用,而在java中进行 ...

  7. 装配bean

    spring有三种装配bean的方式:隐式装配.java代码装配.xml装配 隐式装配最为省事方便,也称为自动化装配 这三种装配方式可以混搭着来用 在这里通过一个例子来讲述配置 CD的两个实现,一个是 ...

  8. Spring学习笔记(二)之装配Bean

    一,介绍Bean的装配机制 在Spring中,容器负责对象的创建并通过DI来协调对象之间的关系.但是我们要告诉Spring创建哪些Bean并且如何将其装配在一起.,装配wiring就是DI依赖注入的本 ...

  9. JAVA入门[13]-Spring装配Bean

    一.概要 Sping装配bean主要有三种装配机制: 在XML中进行显式配置. 在Java中进行显式配置. 隐式的bean发现机制和自动装配. 原则: 建议尽可能地使用自动配置的机制,显式配置越少越好 ...

随机推荐

  1. jvm学习(重点)

    http://blog.csdn.net/yfqnihao/article/details/8271665 http://blog.csdn.net/cutesource/article/detail ...

  2. java线程方面的知识

    java中单继承,多实现的: 若为多继承,那么当多个父类中有重复的属性或者方法时,子类的调用结果会含糊不清,因此用了单继承. 为什么是多实现呢? 通过实现接口拓展了类的功能,若实现的多个接口中有重复的 ...

  3. Delphi7编译时,发生Access violation at address 00A7B628 in module 'dcc70.dll'. Read of address 00000000.(Delphi6升级到Delphi7)

    最近接了一个项目,要求使用Delphi7来开发程序,可是由于我们之前均使用delphi6来开发程序的,而且Delphi6使用很长时间了,积累并改造了第三方控件很成熟了: 故把Delphi6的控件移植( ...

  4. 在python3下使用OpenCV 抓取摄像头图像提取蓝色

    工作中需要对摄像头进行调试, Python平台大大提高调试效率. 从网找到段代码, 可以从摄像头图像中抠出蓝色. import cv2 import numpy as np cap  = cv2.Vi ...

  5. zabbix_server.log大量提示cannot send list of active checks to "IP": host [HostName] not found

    zabbix server 日志大量提示上图信息 原因是 zabbix_agent.conf配置文件中配置的HostName与zabbix的web界面配置的不同导致的 zabbix_agent.con ...

  6. 终极之shell-zsh全解析

    什么是Zsh Zsh是一款强大的虚拟终端,既是一个系统的虚拟终端,也可以作为一个脚本语言的交互解析器. Zsh的一些特性 兼容bash,原来使用bash的兄弟切换过来毫无压力. 强大的历史纪录功能,在 ...

  7. IPFS星际节点网站 IPNS域名解析教程

    IPNS星际文件系统IPFS提供的域名命名空间,相当于经典HTTP协议中的DNS.只不过是,IPNS是将内容寻址的哈希值(HASH值)转换为域名,而DNS是将IP地址转换为域名. 前段时间,IPFS协 ...

  8. Vjudge - E - 这是高中数学向量题

    2017-07-15 22:29:06 writer:pprp 评价,用到了叉乘,很麻烦,C++构造知识必须扎实 题目如下: 我们用逆时针方向的顶点序列来表示,我们很想了解这块地的基本情况,现在请你编 ...

  9. RabbitMQ入门(4)——路由(Routing)

    这一篇我们将介绍如何订阅消息的一个子集.例如,我们只需要将日志中的error消息存储到日志文件中而将所有日志消息都在控制台打印出来. 绑定(Bindings) 在前面的例子中,我们创建了交换机和队列的 ...

  10. Centos7 安装Power Shell

    Centos7 安装Power Shell 1 查看版本 # cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) 2 安装 # R ...