LINUX教程:Spring自动化装配bean

LINUX教程:Spring自动化装配bean,第1张

概述介绍《LINUX教程:Spring自动化装配bean》开发教程,希望对您有用。

《liNUX教程:Spring自动化装配bean》要点:
本文介绍了liNUX教程: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

package soundsystem;public interface MediaPlayer {  voID play();}

SgtPeppers.java

package soundsystem;import org.springframework.stereotype.Component;@Componentpublic 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);  }  }

:SgtPeppers类上使用了@Component注解.这个简单的注解注解该类会作为组件类,并告知Spring要为这个类创建bean

Cdplayer.java

import org.springframework.beans.factory.annotation.autowired;import org.springframework.stereotype.Component;@Componentpublic class Cdplayer implements MediaPlayer {  private Compactdisc cd;  @autowired  public Cdplayer(Compactdisc cd) {    this.cd = cd;  }  @OverrIDe  public voID play() {    cd.play();  }} 

不过,组件扫描默认是不启用的,我们还需显式配置一下Spring,从而命令它去寻找带有@Component表明的类,并未其创建bean.下例中使用了@ComponentScan表明,这个表明能够在Spring中启用组件扫描.如没有其他配置,@ComponentScan默认会扫描与配置类相同的包:soundsystem

CdplayerConfig.java

package soundsystem;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;@Configuration@ComponentScanpublic class CdplayerConfig { } 

测试CdplayerTest.java

package soundsystem;import static org.junit.Assert.*;import org.junit.Test;import org.junit.contrib.java.lang.system.StandardOutputStreamLog;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.autowired;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(classes=CdplayerConfig.class)public class CdplayerTest {  @autowired  private MediaPlayer player;    @autowired  private Compactdisc cd;    @Test  public voID cdShouldNotBeNull() {    assertNotNull(cd);  }  @Test  public voID play() {    player.play();  }}

自动装配就是让Spring自动满足bean依赖的一种办法,在满足依赖的过程中,会在Spring应用的上下文中寻找匹配某个bean需求的其他bean.为了声明要进行自动装配,我们借助Spring的@autowired注解.

上述代码中,在构造器中添加了@autowised注解,这注解当Spring创建Cdplayer bean的时候,会通过这个构造器来进行实例化,并传入一个可设置为Compactdisc类的bean,在上面的代码中,SgtPeppers被声明为组件,并实现了Compactdisc接口.因此,在实际运行中会把SgtPeppers作为实例化类.

本文永远更新链接地址

内存溢出PHP培训学院每天发布《liNUX教程:Spring自动化装配bean》等实战技能,PHP、MysqL、liNUX、APP、Js,CSS全面培养人才。

总结

以上是内存溢出为你收集整理的LINUX教程:Spring自动化装配bean全部内容,希望文章能够帮你解决LINUX教程:Spring自动化装配bean所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1041698.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存