咸糖记录编程的地方

念念不忘,必有回响。

目录
Spring基础 注入依赖
/  

Spring基础 注入依赖

Spring的核心主要由DI(依赖注入)和AOP(切面编程)组合而成

本博文主要介绍一下DI
关于Spring是如何注入依赖的
Spring的所有组件主要是由Bean 组成
Spring的容器则是负责对Bean进行管理和装配的

我们来介绍下基于JavaConfig的Bean 的装配工作

我们可以使用@Component()注解来告诉Spring为这个普通的POJO类转换为SpringBean

// 告诉Spring为这个类创建bean
@Component()
//@Component("lonelyHeartsClub")

public class SgtPeppers implements CompactDisc {

    private String title = "Sgt. Pepper's Lonely Hearts Club Band";
    private String artist = "The Beatles";

    public String play() {
        return (String)"Playing " + title + " by " + artist;
    }

    @Override
    public void playTrack(int trackNumber) {

    }
}

然后创建一个JavaConfig的文件
来手动申明这些Bean

@Bean
    public CDPlayer cdPlayer(CompactDisc compactDisc){
        return new CDPlayer(compactDisc);
    }

这个@Bean 表示的显式配置容器中的SpringBean
但是可以看到这个配置方法具有一个参数,我们在其他的配置文件中将这个CompactDisc类导入,这样的话Spring 会自动的导入将单例的compactDisc通过构造方法传入依赖

我们只需要在CDPlayer的指定构造方法中使用@Autowired来完成自动装配

     @Autowired
    // 如果没有匹配的bean
    // 就会抛出一个异常
    // 为了避免异常
//    @Autowired(required = false)
    public  CDPlayer(CompactDisc cd) {
        this.cd = cd;
    }

@Autowired的作用主要是在Spring创建当前bean的时候可以通过构造方法或者Setter传入一个可以配置的Bean

这就是Spring 装配bean的基础内容。


标题:Spring基础 注入依赖
作者:xiantang
地址:http://xiantang.info/articles/2019/06/03/1559551176955.html

评论