Spring注解基本问题

标签 spring annotations

据我了解,依赖注入(inject)的主要目的是将所有依赖项以声明方式分离,以便我们可以轻松地查看和更改依赖项结构......对吗?

然后通过使用遍布代码的依赖注释,我们不是又回到了非集中式系统(类似于简单的 new 运算符),这更难调整吗?

最佳答案

@Autowired/@Inject 注解通常声明对接口(interface)的依赖,而不是对具体类的依赖(如 new 的情况),因此您仍然可以通过控制在上下文中声明哪些 bean 来控制应注入(inject)哪些实现。此外,这些依赖项可以手动覆盖。

@Component-系列注释也可以控制,因为您可以从组件扫描中排除特定的类。

关于Spring注解基本问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6788568/

相关文章:

java - 如何在运行时修改注释的属性

spring - 在命名空间 (,) 中发现多个表 - 使用 Spring、Hibernate 和 JPA

java - spring 框架中 Service 和 DAO 接口(interface)的主要目的是什么?

java - 当我使用 ContextHierarchy 时,没有类型为 'org.springframework.security.config.annotation.ObjectPostProcessor<?>' 的合格 bean 可用

hibernate @onetomany 关系更新而不是在保存期间插入

java - 为我的项目创建类似 Slf4j 的注释

java - 使用自定义注释的组件扫描

java - 使用 Spring Boot 从 http 链接获取值

java - 当未设置 'hibernate.dialect' 时,对 DialectResolutionInfo 的访问不能为 null

java - 如何将变量从 BeforeTest 传递到 Test 注释