在讲SpringBoot之前,我们先来聊聊Spring。
Spring可以说是JavaEE(Java Enterprise Edition)的轻量级替代产品。
Spring为企业级Java开发提供了一种相对简单的方法,通过IOC(控制反转/依赖注入DI)和Aop(面向切面编程),用简单的POJO实现了企业级应用程序的开发。
在Spring官网上也可以看到,什么轻量级,非侵入式,IOC,Aop,方便集成其他框架等等优点,确实是大幅度的简化了企业级项目开发,这点估计使用原生 jsp+servlet+JDBC 写过项目的朋友深有体会。
然而,大家在享受着Spring轻量级组件代码同时,也要承受Spring重量级配置的折磨。。。
重量级配置,Spring永远的痛。。。
尽管Spring2.5引入了基于注解的组件扫描,消除了大量针对应用程序自身的显示的XML配置。我们依然没能逃脱配置的魔爪(比如事务管理和SpringMVC,Web视图需要用XML或Java进行显式配置;配置Servlet和过滤器(Spring的DispatcherServlet)同样需要在web.xml或Servlet初始化代码中显式配置)。
这些配置都代表了开发时的损耗。因为在思考Spring配置和解决业务问题之间需要进行思维切换,所以写配置挤占了写应用程序逻辑的时间。
除此之外,项目的依赖管理也是件蛋疼的事(不仅要