the*_*ker 7 spring spring-boot
我没有看到 FactoryBean 用于创建 bean 的实用程序...为什么不能在配置类中创建相应的 bean?需要什么 FactoryBean ?
我知道我在这里遗漏了一些东西,但我不知道到底是什么
小智 4
Spring Configuration 和 FactoryBean 类有类似的东西,但 Configuration 不仅可以选择为容器生成 bean。@Configuration 的创建是为了在 java 中实现 xml 中可以完成的所有操作,甚至更多。
使用 FactoryBean,您可以:
1. 使用一些自定义逻辑创建 bean
仅此而已。
参考:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/beans/factory/FactoryBean.html
通过配置,您可以:
1. 声明没有任何创建逻辑的 bean。
2. 使用自定义逻辑为容器创建bean(与FactoryBean相同)。
3. 声明静态bean(参见https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#beans-value-annotations)
4. 声明@ComponentScan
5. 声明@PropertySource
6 . 使用 @Import 从 java config 导入另一个配置
7. 使用 @ImportResource 从 xml 导入另一个配置
8. 可以导入配置类用于测试用途(作为测试配置)
....还有很多其他用途
参考:https:// docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Configuration.html
最显着的区别是 @Configuration 类由 Spring 容器管理,并且它的所有公共方法都被代理。FactoryBean不由Spring容器管理,它只是为容器创建bean的工具。
注意:实现此接口的 bean 不能用作普通 bean。FactoryBean 以 bean 样式定义,但为 bean 引用(getObject())公开的对象始终是它创建的对象......FactoryBean 是一个编程契约。实现不应依赖注释驱动的注入或其他反射设施。
| 归档时间: |
|
| 查看次数: |
2531 次 |
| 最近记录: |