spring.main.allow-bean-definition-overriding(allowBeanDefinitionOverriding)
spring.main.allow-bean-definition-overriding設置為true,表示后發現的bean會覆蓋之前相同名稱的bean
到底allowBeanDefinitionOverriding應該設置true還是false?
上面代碼中可以看到,spring中默認是true,也就是默認支持名稱相同的bean的覆蓋。而springboot中的默認值是false,也就是不支持名稱相同的bean被覆蓋。
那么我們自己應該如何選擇呢?
這里筆者認為默認不覆蓋比較好。
因為還是推薦一個系統中不要存在名稱相同的bean,否則后者覆蓋前者,多人分工合作的時候,難以避免某些bean被覆蓋,會出現很多詭異的問題 ,甚至會帶來線上真實的業務損失。
bean的名稱不相同,依據具體的業務給bean起名字。這樣不但可以解決bean名稱重復的問題,還可以大大提高程序的可讀性與可維護性。
只有當集成了第三方的庫,不同庫直接由于是多個團隊開發的,甚至這些團隊屬于不同的國家,有可能會出現bean名稱相同的情況。這種情況就需要根據實際需求來設置allowBeanDefinitionOverriding的值了。
參考
spring中 allowBeanDefinitionOverriding(spring.main.allow-bean-definition-overriding) 分析
總結
以上是生活随笔為你收集整理的spring.main.allow-bean-definition-overriding(allowBeanDefinitionOverriding)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kaldi中跑thchs30
- 下一篇: 建设一个官网企业网站需要多少成本?