Spring 自动化装配Bean

声明一张cd的接口:

public interface CompactDisc {
    public abstract void play();
}

实现cd接口:

@Component("SgtPeppers")
public class SgtPeppers implements CompactDisc {
    private String title = "Sgt.Pepper‘s Lonely Hearts Club Band";
    private String artist = "The Beatles";

    @Override
    public void play() {
        System.out.println("playing" + title + " by " + artist);
    }
}

声明cdplayer:

@Component("CDplayer")//表明该类作为组件类,没必要显示的配置Bean实例,括号内为组件名
public class CDPlayer {
    /*
    * @Autowired注解可以用在构造器上,也可以用在set方法上,也能直接放在下列代码所示地方
    * spring会满足有该注解的依赖,如果只有一个bean匹配依赖需求的话,这个bean就会被装配进来      @Autowired 默认按类型装配
    * */
    @Autowired
    private CompactDisc cd;

    public CompactDisc getCd() {
        return cd;
    }

    public void setCd(CompactDisc cd) {
        this.cd = cd;
    }
    public void play(){
        cd.play();
    }
}

测试类:

public class CDPlayerTest {
    public static void main(String[] args) {
        ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
        CDPlayer cdPlayer= (CDPlayer) context.getBean("CDplayer");
        cdPlayer.play();
    }
}

xml:自动扫描包,寻找有注解的类

 <context:component-scan base-package="com.xue.soundsystem"></context:component-scan>

总结:@Component:相当于xml的bean中添加其实例,括号内为id。@Autowired会按类型寻找匹配的实例进行匹配。@Resource可以按照名字进行装配。

时间: 2024-12-18 04:43:39

Spring 自动化装配Bean的相关文章

Spring自动化装配bean

1. 场景 用CD(Compact disc)和CD播放器(CDPlayer)阐述DI(依赖注入). 如果不将CD插入(注入)到CDPlayer中,那么CDPlayer其实没有太大的用处,所以,可以这样说:CDPlayer依赖于CD才能完成它的使命. 2. 架构图示 3. 代码 接口: CompactDisc.java package soundsystem; public interface CompactDisc { void play(); } 接口: MediaPlayer.java p

Spring 之自动化装配 bean 尝试

[Spring之自动化装配bean尝试] 1.添加dependencies如下所示(不是每一个都用得到 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.9.RELEASE</version> </dependency

spring(2)装配Bean

[0]README 0)本文部分文字描述转自:"Spring In Action(中/英文版)",旨在review  spring(2)装配Bean 的相关知识: 1)在spring中,对象无需自己查找或创建与其所关联的其他对象.相反,容器负责把需要相互协作的对象引用赋予各个对象: 2)装配:创建应用对象之间协作关系的行为通常称为装配,这也是依赖注入(DI)的本质(干货--装配是依赖注入的本质): 3)可以预热一下:在Spring中装配bean有多种方式:配置Spring容器最常见的三

Spring 自动装配 Bean

Spring3系列8- Spring 自动装配 Bean 1.      Auto-Wiring ‘no’ 2.      Auto-Wiring ‘byName’ 3.      Auto-Wiring ‘byType 4.      Auto-Wiring ‘constructor’ 5.      Auto-Wiring ‘autodetect’ Spring Auto-Wiring Beans——Spring自动装配Bean 所谓自动装配,就是将一个Bean注入到其他Bean的Prope

Spring基础系列8 -- Spring自动装配bean

Spring基础系列8 -- Spring自动装配bean 转载:http://www.cnblogs.com/leiOOlei/p/3548290.html 1.      Auto-Wiring ‘no’ 2.      Auto-Wiring ‘byName’ 3.      Auto-Wiring ‘byType 4.      Auto-Wiring ‘constructor’ 5.      Auto-Wiring ‘autodetect’ Spring Auto-Wiring Be

Spring自动装配Bean详解

1.      Auto-Wiring 'no' 2.      Auto-Wiring 'byName' 3.      Auto-Wiring 'byType 4.      Auto-Wiring 'constructor' 5.      Auto-Wiring 'autodetect' Spring Auto-Wiring Beans--Spring自动装配Bean 所谓自动装配,就是将一个Bean注入到其他Bean的Property中,类似于以下: <bean id="cust

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

一.Spring装配-自动化装配 @Component和@ComponentScan 通过spring注解(@Component)来表明该类会作为组件类,并告知Spring要为这类创建bean,不过组件扫描默认是不启动的,需要显式的配置Spring,从而命令Spring去寻找带有(@Component)注解的类,并为其创建bean. 1.定义接口 package com.seven.springTest.service; public interface HelloWorldApi { publ

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

Spring从两个角度来实现自动化装配: 组件扫描(component scanning):Spring会自动发现应用上下文中需要创建的bean. 自动装配(autowiring):Spring会自动满足bean之间的依赖. 为了更形象的解释组件扫描与自动装配,我们举一个音响系统的例子,主要包含以下内容: CD接口 CD接口的一个实现类 CD播放器 关于CD和CD播放器关系的解释: 如果你不将CD插入(注入)到CD播放器中,那么CD播放器其实是没有太大用处的.所以,可以这样说, CD播放器依赖于

自动化装配Bean

一.Spring装配-自动化装配 @Component和@ComponentScan 通过spring注解(@Component)来表明该类会作为组件类,并告知Spring要为这类创建bean,不过组件扫描默认是不启动的,需要显式的配置Spring,从而命令Spring去寻找带有(@Component)注解的类,并为其创建bean. 1.定义接口 package com.seven.springTest.service; public interface HelloWorldApi { publ