代码如下
package cn.lpe234.demo;
/**
* Created by lpe234 on 2017/9/26.
*/
public interface Data {
void out();
}
package cn.lpe234.demo;
import org.springframework.stereotype.Component;
/**
* Created by lpe234 on 2017/9/26.
*/
@Service
public class AData implements Data {
@Override
public void out() {
System.out.println("AData");
}
}
package cn.lpe234.demo;
import org.springframework.stereotype.Component;
/**
* Created by lpe234 on 2017/9/26.
*/
@Service
public class BData implements Data {
@Override
public void out() {
System.out.println("BData");
}
}
new
创建对象需要什么类就去new
什么类。
@Test
public void testData() {
Data data1 = new Data() {
@Override
public void out() {
System.out.println("new Data {}");
}
};
Data data2 = new AData();
Data data3 = new BData();
data1.out();
data2.out();
data3.out();
}
输出
//
new Data {}
AData
BData
两种方式 @Autowired
和 @Resource
.
// 均使用 AData 的实现
@Autowired
@Qualifier("AData")
Data data;
@Resource(name = "AData")
Data getData;