1.1 重启Spring之旅

  Spring 起初作为J2EE可选的一种轻量级框架,而不是和EJB这种重量级框架一样开发组件,Spring提供了更加简单的方法实现java企业级的开发,它使用依赖注入,面向切面编程等来实现和EJB的POJO对象一样的能力。
  但是,尽管Spring在组件代码上是轻量级的,可在配置方面确实重量级的。起初,Spring的配置采用了大量的XML,Spring2.5提出了基于注解的组件扫描的方式,这种方式消除了在配置应用程序组件的许多显式的XML配置。Spring3.0更是以基于Java的类的配置方式,这种方式相对于XML类型安全而且可以重构。
  尽管如此,还是逃离不了配置。尤其体现在启用Spring的一些功能上,比如事务管理,SpringMVC需要的显式配置,还有就是启用一些第三方的库比如Thymeleaf-模板引擎的配置,不管是基于XML还是Java类,这些都逃离不了。另外,配置Servlet或者Filter一样需要在Web.xml显式配置或者初始化好。组件扫描的方式的确减少了一些配置,Java类的配置也使得配置少些尴尬了,但Spring仍需要大量的配置。
  所有的这些配置为开发带来了冲突,我们花费了更多时间在配置上而不是编写程序的业务逻辑上。要想实现所想的转变需要考虑如何将配置Spring转移到解决业务问题上。像大多框架一样,Spring为我们做了很多,但反过来这却也需要你为之做很多。
  此外,项目的依赖管理是一个吃力不讨好的任务。在确定什么库可以作为项目构建的部分变得越发艰难,甚至要知道那些版本和那些版本可以很好的配合等等。这些一样很重要,这使得项目的依赖管理也为开发带来了冲突。当你添加依赖去构建项目,我不再是写程序的代码,任何选择这些错误的依赖版本所产生的不兼容都会变成项目的杀手。
  然而,Spring Boot改变了这一切。

results matching ""

    No results matching ""