Spring Bean,什么是Bean?

什么是Bean?

Spring Bean是被实例的,组装的及被Spring 容器管理的Java对象。

Spring 容器会自动完成 @bean对象的实例化。

创建应用对象之间的协作关系的行为称为:装配(wiring),这就是依赖注入(DI)的本质。

Spring 三种配置方案

1.在XML中进行显示配置

2.使用Java代码进行显示配置

3.隐式的bena发现机制和自动配置 (首选推荐)

一、自动化配置bean

1.组件扫描(component scanning):Spring 会自动发现应用上下文中所创建的bean。
2.自动装配(autowiring):Spring会自动满足bean之间的依赖。


package com.stalkers.impl;
 
import com.stalkers.ICompactDisc;
import org.springframework.stereotype.Component;
 
/**
 * Jay同名专辑
 * Created by stalkers on 2016/11/17.
 */
@Component
public class JayDisc implements ICompactDisc {
 
    private String title = "星晴";
 
    public void play() {
        System.out.println(title + ":一步两步三步四步,望着天上星星...");
    }
}

Component注解作用:

表明该类会作为组件类

不过,组件扫描默认是不开启用的,我们还需要显示配置下Spring,从而命令它去寻找到 @Component注解的类,并为其创建 bean。

通过为bean添加注解实现自动装配

如果所有对象都是独立的,彼此之间没有任何依赖,那么使用组件扫描就能自动化装配bean。

但是实际工作中,很多对象会依赖其他对象完成任务。这时候就需要能够将组件扫描得到bean和他们依赖装配在一起。这就是自动装配(autowiring)


@Component
public class CDPlayer implements IMediaPlayer {
 
    private ICompactDisc cd;
    
    @Autowired
    public CDPlayer(ICompactDisc cd) {
        this.cd = cd;
    }
 
    public void play() {
        System.out.println("cd Play:");
        cd.play();
    }
}

Autowired的多种方式

1.构造器注解(constructor)

2.属性setter注解

3.field注解

不管使用上面三种的那种方法,Spring都会满足声明的依赖。

猜你喜欢

转载自www.cnblogs.com/nineberg/p/12286519.html