Spring 是一个“引擎”
Spring 最初利用“工厂模式”( DI )和“代理模式”( AOP )解耦应用组件。
大家觉得挺好用,于是按照这种模式搞了一个 MVC 框架(一些用 Spring 解耦的组件),
用开发 web 应用( SpringMVC )。然后有发现每次开发都要搞很多依赖,写很多样板代码很麻烦,
于是搞了一些懒人整合包( starter ),这套就是 Spring Boot 。
数十年来, Spring 的努力就是为了减少复杂度,解耦,少些一些代码。我的感觉是,
复杂度不会凭空产生,也不会凭空消失,只会从一个地方转移到另一个地方。
虽然掌握 Spring 可以减少很多多余的工作,但是掌握 Spring 本身也变成很复杂的一件事。
Spring 的 XML ,注解配置, EL 表达式这种 DSL ,把很多很简单的事情搞复杂了,当 Spring Boot 自动配置失灵时就带来了更多的麻烦。
Spring MVC 是基于 Spring 的一个 MVC 框架
什么是MVC,推荐一个博文:
http://blog.csdn.net/chun_long/article/details/52086565
Spring 最初利用“工厂模式”( DI )和“代理模式”( AOP )解耦应用组件。
大家觉得挺好用,于是按照这种模式搞了一个 MVC 框架(一些用 Spring 解耦的组件),
用开发 web 应用( SpringMVC )。然后有发现每次开发都要搞很多依赖,写很多样板代码很麻烦,
于是搞了一些懒人整合包( starter ),这套就是 Spring Boot 。
数十年来, Spring 的努力就是为了减少复杂度,解耦,少些一些代码。我的感觉是,
复杂度不会凭空产生,也不会凭空消失,只会从一个地方转移到另一个地方。
虽然掌握 Spring 可以减少很多多余的工作,但是掌握 Spring 本身也变成很复杂的一件事。
Spring 的 XML ,注解配置, EL 表达式这种 DSL ,把很多很简单的事情搞复杂了,当 Spring Boot 自动配置失灵时就带来了更多的麻烦。