因為spring裡面有很多配置其實一旦配置完成就不會去改變了,而且也沒必要改變,例如大多數bean的依賴關係。把這些不會改變的配置都放在xml裡面是沒有意義的,只是會讓配置越來越大,spring 3.x的時候就被詬病配置太多,已經變成了基於配置編程了,本末倒置了,所以把這些近乎靜態的配置放在程式碼裡面其實更好。 XML更方便修改,而且無需編譯即可生效,所以把那些需要根據環境,業務改變的配置放在XML裡面更好。 Spring Boot吸收了Rails的配置基於約定的方式,使得配置減少了很多,不過如果不熟悉它的底層是怎麼配置的話,可能會遇到很多問題。
配置寫在程式碼裡面更直觀,簡單(有的配置 spring boot 自己已經做了),使用鍊式程式設計。 。 。
使用 maven 依賴更加清爽。
但是我覺得坑比較多
因為spring裡面有很多配置其實一旦配置完成就不會去改變了,而且也沒必要改變,例如大多數bean的依賴關係。把這些不會改變的配置都放在xml裡面是沒有意義的,只是會讓配置越來越大,spring 3.x的時候就被詬病配置太多,已經變成了基於配置編程了,本末倒置了,所以把這些近乎靜態的配置放在程式碼裡面其實更好。
XML更方便修改,而且無需編譯即可生效,所以把那些需要根據環境,業務改變的配置放在XML裡面更好。
Spring Boot吸收了Rails的配置基於約定的方式,使得配置減少了很多,不過如果不熟悉它的底層是怎麼配置的話,可能會遇到很多問題。
這個我也覺得有點無言。
一定要解釋的話,Spring時代前的Java配置是命令式的(一路寫下來,依賴執行順序),改成了XML聲明式,到了Spring Boot時代,又實現了聲明式的Java配置(分散在多個被註解的方法中,不依賴執行順序)。
另外很多配置可以用application.properties覆蓋,早該這樣嘛!
雷雷