Closed. This question is opinion-based。它当前不接受答案。












想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。

在4个月前关闭。



Improve this question




我是spring框架的新手。在我看到的大多数Spring教程中,Spring被描述为“非侵入式”。

侵入性是什么意思?在Java中使用Spring的优点是什么并使它具有非侵入性?

最佳答案

如果IoC容器具有入侵性,则意味着您的代码需要明确了解依赖项注入(inject)。例如,在Guice中,您使用@Inject注释(及其他注释)。这些注释比以前更加标准化,这是很好的-这意味着您可以(至少在理论上)使用单组注释使您的代码可用于各种不同的侵入式IoC容器。

使用非侵入性容器,您可以编写代码而完全不引用IoC ...一切都取决于成员和注解的反射,即使您不使用IoC也会存在。

侵入性容器和非侵入性容器都有优点和缺点-例如,在代码中更具体地描述可以使您对绑定(bind)的某些细节有更多的控制-但有必要了解它们之间的区别。

10-07 12:23