Spring IOC 1 ,使用注解实现自动装配

    最近在学习Spring,Spring IOC有三种实现方式:注解、java装配、xml。

    学习的书籍是《Spring实战》第四版,自己按照自己的所限知识总结下使用注解实现自动装配。

    它在使用第三方组件的时候,就会出现不实用的场景:没把法在它的类上增加@Componnent.

    1、定义一个CD接口;用一个唱片CD类实现,用@Component标记为可以注入的bean

    2、定义个配置类,扫描基础包下的组件(CD类)

    3、定义一个媒体播放接口MediaPlayer,以及它的实现类CdPlayer,该类中注入CD,并实现方法play调用CD的方法,用@Component标记为可以注入的bean

    4、新建一个JunitCase,注入类CdPlayer,用assertNotNull判断是否注入CdPlayer,打印方法play,目的是为测试依赖(唱片)是否装配成功

实现代码:

1.1

public interface CD {

	public void cdplay();
}

1.2

import org.springframework.stereotype.Component;

@Component
public class JayFantancy  implements CD{
	public void cdplay()
	{
		System.out.println("<<依然范特西>>,周杰伦");
	}
	

2.1

 

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;;

@Configuration
@ComponentScan
public class CdConfig {
	
}


3.1

public interface MediaPlayer {
	public void play();
}

3.2

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class CdPlayer implements MediaPlayer{
    
    @Autowired
    private CD cd;
    
    @Autowired
    public  CdPlayer(CD cd) {
        // TODO Auto-generated constructor stub
        this.cd=cd;
    }
    @Override
    public void play() {
        // TODO Auto-generated method stub
        cd.cdplay();
    }

}

4.1

public class CdPlayerTest2 {
	@Autowired
	private MediaPlayer play;
	@Test
	public void test() {
		assertNotNull(play);
		play.play();
		//fail("Not yet implemented");
	}

}


        

你可能感兴趣的:(JAVA)