You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
hanyong edited this page Aug 13, 2016
·
2 revisions
spring 技术发展 2016
2007 年开始接触 spring, spring mvc + jsp 一直是最喜爱的 web 开发方式。
spring 版本从 2.x 发展到今天的 4.x, 对新特性的了解和使用却非常少。
回过头来看, 几年间 spring 其实也发生了许多革命性的变化。
再看现在的 spring 官网, 已然变成一个包含众多子项目的庞大组织。
从我的角度看, 主要有以下几个方面的变革:
引入 @RequestMapping 注解
更大粒度的组件
自动补齐组件
使用 java 配置
这些变革都在大大提升 spring 的易用性和灵活性。最主要的, 还是简化配置和自动配置。
更大粒度的组件主要依靠 Configurer 完成,
由于 spring 提倡细粒度模块化, 过去要完成一件事, 我们动辄要配置十几个 bean,
现在 spring 将常用场景的典型用法抽象成一组代码框架,
我们只要引入一个 Configurer 就可以将这套框架的一堆 bean 配置起来, 而不必逐个配置, 如 WebMvcConfigurationSupport。
自动补齐组件则是 spring boot autoconfig 提供的功能,
spring 自动检测你要做什么事, 然后缺失的 bean 自动使用典型配置给你补上。
虽然 spring 留了许多口子给用户实施自定义配置的机会, 实际上却损失了许多灵活性。
首先, 针对我们需要做出的修改, 要找到 spring 预留的正确的修改入口和修改方式得花费不少时间。
通常我不断阅读和琢磨代码及文档才明白怎么做, 有时比从头写传统配置还费时间。
这应该是一个技术栈的问题, 随着对新框架的了解, 应该会越来越快。