据我了解,依赖注入(inject)的主要目的是将所有依赖项以声明方式分离,以便我们可以轻松地查看和更改依赖项结构......对吗?
然后通过使用遍布代码的依赖注释,我们不是又回到了非集中式系统(类似于简单的 new 运算符),这更难调整吗?
最佳答案
@Autowired
/@Inject
注解通常声明对接口(interface)的依赖,而不是对具体类的依赖(如 new
的情况),因此您仍然可以通过控制在上下文中声明哪些 bean 来控制应注入(inject)哪些实现。此外,这些依赖项可以手动覆盖。
@Component
-系列注释也可以控制,因为您可以从组件扫描中排除特定的类。
关于Spring注解基本问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6788568/