我开始学习Spring,并遇到了一个在另一个配置中的一个xml配置中声明的,覆盖Spring的Spring bean的功能。
我不知道此功能在哪里有用。这似乎是不合逻辑的,因为将使用两个不同的xml配置同一个容器,即使有两个具有相同ID的bean,也不会报告歧义,而是默认为最后一个。
有没有实际可行的实际方案?这是好习惯吗?
有一些原因为什么这可能很有用
测试时,您可以选择覆盖1个或多个bean。例如,DataSource
您可能不想针对数据库的生产实例进行测试。但是也许一个或一个专门用于测试的内存。为此,您可以直接覆盖DataSource
bean。
您可以为您的库提供一个初始配置,并允许用户覆盖某些组件或让他们实现接口。这方面的一个示例是不同的Spring产品组合项目(默认配置)如何工作(Spring Security,Spring Batch)。
同样,当覆盖bean时,spring会在应用程序启动时记录此信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句