概述:
用的广泛的注解@Autowired
1.可以用于到字段上
2.setter方法上
3.构造方法上
直接上代码
package learn.chapter2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class GirlSong {
//@Autowired
private CompactDisc compactDisc;
@Autowired
public GirlSong(CompactDisc compactDisc) {
this.compactDisc = compactDisc;
}
public CompactDisc getCompactDisc() {
return compactDisc;
}
//@Autowired
public void setCompactDisc(CompactDisc compactDisc) {
this.compactDisc = compactDisc;
}
}
测试代码
package learn.chapter;
import static org.junit.Assert.assertNotNull;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import learn.chapter2.CDPlayerConfig;
import learn.chapter2.GirlSong;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes=CDPlayerConfig.class)
public class AutowiredTest {
@Autowired
private GirlSong girlSong;
@Test
public void CompactDiscIsNotNull(){
assertNotNull(girlSong.getCompactDisc());
}
}
总结:你可以依次注释字段、构造方法,setter的方法上的@Autowired,都可以注入, @ContextConfiguration() 加载java配置文件
@Autowired(required=false) 有个默认属性 required 如果为false如果没有候选者,将会不会注入,也不会报错,这样很危险,所以它默认是required=true
Spring框架@Autowired详解
本文详细介绍了Spring框架中@Autowired注解的使用方法,包括其在字段、setter方法及构造方法上的应用,并通过具体代码示例展示了如何正确使用@Autowired实现依赖注入。
325

被折叠的 条评论
为什么被折叠?



