IoC很不错,但是与自动装配(@ EJB,@ Autowired,@ Inject,@ SpringBean ...)一起使用时,您是否认为它限制了IoC的目标?
实际上,我对不同框架中的自动装配系统了解不多,但似乎它主要基于类型。
在IService上使用@EJB时,仅需要一个实现ServiceImpl即可使其工作。
如果我们想要许多实现该怎么办?
似乎某些自动装配注释可以带有参数。例如,在Stripes中,您可以执行以下操作:@SpringBean(“ xxxService”)其中xxxService是spring初始化的bean。
在这种情况下,您不要执行“ new XxxServiceImpl()”,但是您仍然要对要在Bean中使用的服务实现进行硬编码引用。它根本不是类引用,而是实现的Spring bean引用...
您如何看待?我喜欢自动接线,但只是想知道自己。
是的,自动装配有局限性(仅是自动接线接口的一种实现),因此在注入适当的实现时,它丧失了IoC灵活性的一部分。
但是,我认为自动装配只是减少配置的一种方法。因此,当您90%的依赖项可以自动连接时,您最终会倾向于减少总体配置(其余配置很重要,因为它仅包含重要的(特定于实现的)位)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句