仅在bean可用时自动装配bean

时间:2013-08-24 11:37:25

标签: java spring

@Component
public class Test {
  @Autowire
  private MyBean myBean;

  public void sampleMethod()
  {
     if(myBean == null) {
       myBean = BeanFactory.getDefaultBean();
     }

     // ...
  }
}

如果未在spring配置xml文件中定义,是否可以自动装配MyBean?我理解在这种情况下,它会抛出No bean found of type MyBean。我们是否可以配置一些内容来忽略该异常并在BeanFactory上回退以获取DeafultBean

类似的东西:

@Autowire(assignNullIfBeanNotFound = true)

1 个答案:

答案 0 :(得分:2)

让我们看看the javadoc(注释名为Autowired,而不是Autowire):

  

需要公共抽象布尔值

     

声明是否需要带注释的依赖项。

     

默认为true。

这种为课程提供文档的想法不是很好吗?