最近在学习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");
}
}
版权声明:本文为u010886216原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。