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. 什么可能导致cookie不会在$ _COOKIE中设置$ _SERVER
- 2. 春季Bean依赖注入
- 3. 春季3,从依赖
- 4. 春季依赖关系
- 5. 为什么Maven依赖排除不会导致编译错误?
- 6. Java为什么不依赖常量会导致重新编译?
- 7. 不能设置在春季启动1.4
- 8. 为什么在AngularJS中添加依赖项会导致错误?
- 9. 是什么导致循环依赖?
- 10. 春季不能设置模拟类
- 11. 什么可能会导致InvocationTargetException和ClassCastException:
- 12. 春季启动gradle插件messes常春藤依赖配置?
- 13. 为什么autowiring jdbctemplate会导致循环依赖?
- 14. 春季云侦探+春季启动1.4.0传递依赖问题
- 15. 春季启动配置自动装配Autowired不作为依赖
- 16. 春季启动包括传递依赖
- 17. 春季批次3.0.2依赖与javax.batch.runtime.JobInstance
- 18. 春季数组依赖注入?
- 19. 春季批次:作业依赖关系
- 20. 什么可能导致xmlrpclib.ResponseError:ResponseError()?
- 21. 什么可能导致System.TypeLoadException?
- 22. 什么可能导致java.lang.reflect.InvocationTargetException?
- 23. 在ThreadLocal的春季JMX设置的值工作不一致
- 24. 依赖属性不会设置
- 25. 什么可能导致select()不返回?
- 26. Java依赖不会导入
- 27. 什么在春季启动
- 28. 什么问题可能会导致nib文件的所有者设置为零?
- 29. 为什么不设置clearTaskOnLaunch =“true”会导致OnCreate被调用?
- 30. 设置SBT依赖关系时,%和%%运算符会做什么?
+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