关于Spring 3自动扫描和需要注释的问题

时间:2011-06-13 10:14:20

标签: java spring

我有一个用spring Component注释的类,例如:

@Component
public class ImportantClass{

@Autowired
private DependentClassIF otherClass;

//getters setters

@Required 
public void setOtherClass(DependentClassIF c){
this.otherClass = c;    
}

public interface DependentClassIF {
    //methods here
}  
 @Component
 public class DependentClass implements DependentClassIF {
    //implementation here
 }

我使用autoscan来检测bean,而不是在bean conf文件中声明它们 我得到了

  

org.springframework.beans.factory.BeanInitializationException:   属性'otherClass'是必需的   bean'ImportantClass'

我的问题如下: 在autoscan中,Spring是否确保注入了所有必需的属性? 如果我删除@Required它有效,但我不确定我是否理解Spring的行为。

欢迎任何输入。

由于

1 个答案:

答案 0 :(得分:3)

@Autowiredrequired设置为true,因此您不需要@Required

您不需要@Requried基于注释的注入。它与xml配置一起使用,表示必须在xml中设置属性。