Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.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
Springbean继承-作用域、autowire、依赖项等_Spring - Fatal编程技术网

Springbean继承-作用域、autowire、依赖项等

Springbean继承-作用域、autowire、依赖项等,spring,Spring,来自Spring文档: 其余设置始终取自子定义:依赖项、自动连线模式、依赖项检查、单例、作用域、惰性初始化 我认为不继承这些设置有一个很好的理由,但我想不出一个理由。原因是什么?主要原因之一是Spring用于注入实现。通常,扩展类是实现,从它们的定义中获取配置细节是很自然的 另一个实际原因是注释不是继承的。如果接口有带注释的方法,那么在实现/扩展类中,如果没有一些反射练习,这个注释不会自动可见。我认为这是因为它会导致更多的混淆。想象一下调试bean为什么不在默认(单例)范围内所花费的时间。或者将

来自Spring文档:

其余设置始终取自子定义:依赖项、自动连线模式、依赖项检查、单例、作用域、惰性初始化


我认为不继承这些设置有一个很好的理由,但我想不出一个理由。原因是什么?

主要原因之一是Spring用于注入实现。通常,扩展类是实现,从它们的定义中获取配置细节是很自然的


另一个实际原因是注释不是继承的。如果接口有带注释的方法,那么在实现/扩展类中,如果没有一些反射练习,这个注释不会自动可见。

我认为这是因为它会导致更多的混淆。想象一下调试bean为什么不在默认(单例)范围内所花费的时间。或者将子bean注入父
所依赖的bean时的情况。您将得到一个循环依赖项,而不会注意到它

Bean继承只涉及注入的属性,而不涉及Bean设置