Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring:FactoryBean vs@Configuration_Spring_Spring Boot - Fatal编程技术网

Spring:FactoryBean vs@Configuration

Spring:FactoryBean vs@Configuration,spring,spring-boot,Spring,Spring Boot,我没有看到FactoryBean用于创建bean的实用程序…为什么不能在配置类中创建相应的bean?FactoryBean需要什么 我知道我在这里遗漏了一些东西,但我无法弄清楚Spring配置和FactoryBean类有什么相似之处,但配置并不是为容器生成bean的唯一选项。 @创建配置是为了用java实现所有可以用xml甚至更多语言实现的功能 使用FactoryBean,您可以: 1.使用一些自定义逻辑创建bean 就这些。 参考: 通过配置,您可以: 1.声明没有任何创造性逻辑的bean。

我没有看到FactoryBean用于创建bean的实用程序…为什么不能在配置类中创建相应的bean?FactoryBean需要什么


我知道我在这里遗漏了一些东西,但我无法弄清楚Spring配置和FactoryBean类有什么相似之处,但配置并不是为容器生成bean的唯一选项。 @创建配置是为了用java实现所有可以用xml甚至更多语言实现的功能

使用FactoryBean,您可以:
1.使用一些自定义逻辑创建bean
就这些。
参考:

通过配置,您可以:
1.声明没有任何创造性逻辑的bean。
2.使用自定义逻辑为容器创建bean(与FactoryBean相同)。
3.声明静态bean(请参阅)
4.声明@ComponentScan
5.声明@PropertySource
6.使用@Import
7.使用@ImportResource从xml导入另一个配置
8.可导入配置类用于测试用途(作为测试配置)
…许多其他用途
参考:

最显著的区别是@Configuration类由Spring容器管理,它的所有公共方法都是代理的。 FactoryBean不是由Spring容器管理的,它只是一个为容器创建bean的工具

注意:实现此接口的bean不能用作普通bean。FactoryBean是以bean样式定义的,但是为bean引用公开的对象(getObject())始终是它创建的对象…..FactoryBean是一个编程契约。实现不应该依赖于注释驱动的注入或其他反射功能


??? FactoryBean是一种相当低级的代理接口:您请求FactoryBean并实际使用它的
getObject()
。你为什么要使用
@Configuration
?我不认为我应该投反对票……就像我说的,我在这里遗漏了一些东西,这就是为什么我使用这个网站来变得更好。这就是我现在对事物的理解:FactoryBean封装了一个bean的结构……对我来说,这似乎就是@配置类用于。我错过了什么?我没有。但这太宽泛了,无法在这里期待答案。你最好用谷歌搜索一下:。。。