为什么从Spring4.x开始又推荐使用java配置方式了呢?之前不一直是推荐使用xml进行配置么?

在之前使用Spring的时候,身边的同事或者是朋友一致都推荐使用XML来配置spring,但是等Spring4.*以及SpringBoot问世后普遍都推崇使用Java来配置spring了?这是为什么呢?使用java配置Spring比用Xml配置Spring有什么好处么?

阅读 10.1k
4 个回答

配置写在代码里面更加直观,简单(有的配置 spring boot 自己已经做了),使用链式编程。。。
使用 maven 依赖更加清爽。
但是我觉得坑比较多

这个我也觉得有点无语。
一定要解释的话,Spring时代前的Java配置是命令式的(一路写下来,依赖执行顺序),改成了XML声明式,到了Spring Boot时代,又实现了声明式的Java配置(分散在多个被注解的方法中,不依赖执行顺序)。
另外很多配置可以用application.properties覆盖,早该这样嘛!

因为spring里面有很多配置其实一旦配置完成就不会去改变了,而且也没必要改变,例如大多数bean的依赖关系。把这些不会改变的配置都放在xml里面是没有意义的,只是会让配置越来越大,spring 3.x的时候就被诟病配置太多,已经变成了基于配置编程了,本末倒置了,所以把这些近乎静态的配置放在代码里面其实更好。
XML更方便修改,而且无需编译即可生效,所以把那些需要根据环境,业务改变的配置放在XML里面更好。
Spring Boot吸收了Rails的配置基于约定的方式,使得配置减少了很多,不过如果不熟悉它的底层是怎么配置的话,可能会遇到很多问题。

spring的发展,采用了约定优于配置的原则。
1.xml中维护bean之间的依赖关系,随着业务逻辑的增长变得臃肿。
2.在.java中的配置效率是没有xml效率高的。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题