1
A
回答
2
首先在参考文档中检查4.9.1 @Required。恕我直言,自动装配如此常用,这种注释的使用受到限制。
这是在XML日子相当不错 - 如果你忘了定义XML <property name="movieFinder" .../>
但记得把@Required
周围movieFinder
场或setter,春天会抛出异常。
请注意,这个注释并不能为您解决最常见的Spring新手错误 - 使用容器控件之外的new
运算符手动创建一个bean。 Spring必须对bean进行后处理,并且只有当注释的类实际上由容器创建时(但依赖关系未被注入)时才抛出异常。
这些日子里,你只是标注的那场与@Autowired
/@Resource
/@Inject
,如果未发现豆(否则离开null
)抛出异常(没有这样的豆或类似)。如果你可以放@Required
注释,什么能够防止你用@Autowired
替换它,并完全摆脱XML?
这就是说,对于一些@Required
可能有一个很好的文档价值。
1
这是为了防止大部分开发人员的错误。
有时候开发商觉得这事会在实际上不是那里的原因过多,包括上下文:
- 只需忘了加上豆
- 相关问题(当从依赖组件自动识别)
- 类型/包误解
在这种情况下,它是更好后来上下文负载,而不是像一个NPE东西失败。
相关问题
- 1. 春季3,从依赖
- 2. 春季Bean依赖注入
- 3. 为什么Maven依赖排除不会导致编译错误?
- 4. 不能设置在春季启动1.4
- 5. 是什么导致循环依赖?
- 6. 春季启动gradle插件messes常春藤依赖配置?
- 7. 为什么autowiring jdbctemplate会导致循环依赖?
- 8. 春季云侦探+春季启动1.4.0传递依赖问题
- 9. 春季启动配置自动装配Autowired不作为依赖
- 10. 春季批次3.0.2依赖与javax.batch.runtime.JobInstance
- 11. 春季数组依赖注入?
- 12. 春季启动包括传递依赖
- 13. 什么可能导致xmlrpclib.ResponseError:ResponseError()?
- 14. 什么可能导致java.lang.reflect.InvocationTargetException?
- 15. 在ThreadLocal的春季JMX设置的值工作不一致
- 16. 什么可能导致select()不返回?
- 17. Java依赖不会导入
- 18. 为什么不设置clearTaskOnLaunch =“true”会导致OnCreate被调用?
- 19. 设置SBT依赖关系时,%和%%运算符会做什么?
- 20. 什么可能会导致IDirectDrawSurface ::释放块并永不返回?
- 21. 什么可能导致我的WebRole永远不会启动?
- 22. 为什么配置StreamReader会导致流不可读?
- 23. 不能在春季启动
- 24. Jadira依赖项导致AbstractMethodError
- 25. 为什么我的依赖属性在绑定时不能设置?
- 26. 什么可能会导致此错误在Android?
- 27. 什么可能会导致在System.Windows.Forms.InputLanguage.CreateInputLanguageChangingEventArgs中的溢出异常
- 28. 春季websocket超时设置
- 29. 春季设置首页
- 30. 春季休眠ehcache设置
+1对于很好的解释。只是想知道在使用XML来定义bean(而不是简单的注释)并使用像@ @ Required这样的注释的情况下,这可能是一种情况吗?如果你使用注解来定义bean,那么'@ Required'将如何来拯救? – xyz 2012-07-09 16:34:32
@Ajinkya:再次恕我直言,如果你已经开始使用注释,完全去为他们。正如我上面所写的,如果您使用注释,默认情况下,如果未找到bean,则它们会引发异常。所以'@必需的'是多余的。 – 2012-07-09 16:35:54
那么你会如何配置一个对象从外部库只使用注释? – smp7d 2012-07-09 16:38:40