ApplicationContextAware相对于Setter注入的优点是什么。通过Setter注入,我们也可以从Spring Container获取bean。ApplicationContextAware Vs安装程序注入
1
A
回答
0
使用ApplicationContextAware
您可以获得当前上下文的引用,以便您可以对其进行编辑,例如添加或删除bean。通常这是一个坏主意,除了在某些测试场景中。
Spring还强调,与ApplicationContextAware
相比,使用setter的简单POJO更依赖于Spring框架。
0
除非您确实需要,否则不应使用ApplicationContextAware
。如果您可以使用setter/field/constructor injection来支持您的所有业务需求,请不要使用ApplicationContextAware
。
有些人可能会试图使用ApplicationContextAware
来获取原型scoped bean的新实例(实际上BeanFactoryAware
已经足够)。但有更好的工具,即lookup-method
。
0
0
在大多数scenaios,setter注入是完全以足够的,它提供了一个更好的解决方案,帮助您保持实例之间的关系。因为这些类不直接依赖容器,也就是说,它们是Pojos,不需要知道容器的存在,这会为单元测试和将来的移植带来很多便利。
如果您确实需要从容器中取出某些东西,例如对某些类型的bean进行某种增强,那么是时候使用ApplicationContextAware了。通常,不建议通过实现ApplicationContextAware手动获取类的依赖关系,特别是对于业务对象。他们不应该为自己的组装负责'。
相关问题
- 1. 构造函数注入vs安装程序注入
- 2. 注入豆集合VS使用了ApplicationContextAware到getBeansOfType
- 3. 如何从VS安装程序注册COM +应用程序
- 4. 将变量注入NSIS安装程序
- 5. WCF Unity中的安装程序注入
- 6. MSI安装程序VS 2008
- 7. 使用VS安装程序在安装过程中验证用户输入
- 8. 安装程序开发人员VS软件包装程序?
- 9. VS 2010安装程序自定义languege
- 10. VS项目的安装程序包
- 11. 安装程序功能,WIX vs InstallShield Express
- 12. Web平台安装程序错误安装VS Express
- 13. java嵌入式OS X应用程序VS系统安装Java
- 14. 如何配置VS安装程序将文件放入LocalApplicationData
- 15. VS 11不注意安装位置
- 16. 通过NSIS安装程序注册BHO
- 17. MSI:安装程序安装程序
- 18. 在安装/安装程序包期间注册
- 19. Windows安装程序安装
- 20. 代码中的温莎安装程序注入
- 21. 阴影字段上的弹簧安装程序注入
- 22. 如何让我的安装程序写入HKCU注册表树?
- 23. 安装程序注入与结构映射的问题
- 24. 如何编写MSI安装程序以写入注册表?
- 25. 安装程序注入或环境上下文模式
- 26. 制作一个VS 2013 Express VB.Net程序的安装程序
- 27. 安装VS 2008
- 28. EJB封装进口VS资源注入
- 29. 了ApplicationContextAware注入原型对象的单个对象
- 30. VS 2015中的Visual Studio 2012安装程序项目2015年安装Visual Studio安装程序项目后,“应用程序未安装”
因为我们需要很多实用bean,我们需要哪一种实用bean。您可以选择哪一种实用bean。通过编写大量setter/getters来避免类复杂 – cooper
如果您需要很多实用bean,您应该考虑bean是否具有正确的角色如果它做了太多的事情/负有太多的责任),或者是你的实用bean被分离到良好的逻辑组中。这样你应该能够减少不必要的依赖。我可以想到在任何生产bean中“ApplicationContextAware”的任何理由。 – vertti