Spring是一个开源的轻量级Java SE(Java 标准版本)/Java EE(Java 企业版本)开发应用框架,其目的为开发Java应用程序提供了全面的基础架构支持。它包含一些很好的功能,依赖注入和开箱即用的模块,如:Spring JDBC 、Spring MVC 、Spring Security、 Spring AOP 、Spring ORM 、Spring Test,总之除了帮我们管理对象及其依赖关系,还提供像通用日志记录、性能统计、安全控制、异常处理等面向切面的能力,还能管理最头疼的数据库事务等。
Spring Boot是Spring框架的扩展,它可以建立独立的Spring应用程序;内嵌了如Tomcat,Jetty和Undertow这样的容器,也就是说可以直接跑起来,用不着再做部署工作;采用约定优于配置的做法,无需再像Spring那样配置大量的xml文件;能够自动配置Spring应用;提供了一些现有的功能,提供生产指标,健壮检查和外部化配置;提供的POM可以简化Maven的配置;
spring出现的时间早,spring boot出现时间晚,但发展快,它的约定优于配置的做法是个趋势。所以在工作中很多开发得较早的Java应用spring比较常见,而比较新的Java应用中spring boot逐渐得到普及。