springboot是spring框架的扩展,它消除了设置spring应用程序所需的xml配置,为更快,更高效的开发生态系统铺平了道路。
Spring简介
Spring是一个分层的 full-stack(一站式)轻量级框架,以Ioc(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切片编程)为内核,使用简单的JavaBean来完成以前只能由EJB(Enterprise Java Beans)完成的工作,取代了臃肿、低效的EJB。
Spring致力于JavaEE应用各层的解决方案,是企业应用一站式开发很好的选择,在表现层它提供了Spring MVC以及整合Struts的功能,在业务逻辑层可以管理事务、记录日志等,在持久层可以整合Hibernate、Mybatis等框架。虽然Spring贯穿表现层、业务逻辑层、持久层,但Spring并不是要取代那些已有的优秀框架,而是可以高度开放的与其它优秀框架无缝整合。
Spring的优点
- 非侵入式设计,Spring是一种非侵入式(no-invasive)框架,它可以使应用程序代码对框架的依赖最小化。
- 方便解耦、简化开发,Spring是一个大工厂,可以将所有 对象的创建、依赖关系的维护 交给Spring容器管理,大大降低了组建之间的耦合。
- 支持AOP,允许将一些通用任务,比如安全、事务、日志等,进行集中式管理,从而提高程序的复用性。
- 支持声明式事务处理,通过配置就可以完成对事务的管理,无需手动编程。
- 方便整合其它优秀框架,Spring可以与大多数框架无缝整合。
- 测试方便,Spring支持Junit4,可通过注解测试程序,很方便。
- 降低了使用JavaEE API的难度,Spring对JavaEE开发中难用的一些API进行了封装,降低了这些API的使用难度。
Springboot简介
Springboot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot其实就是一个整合很多可插拔的组件(框架),内嵌了使用工具(比如内嵌了Tomcat、Jetty等),方便开发人员快速搭建和开发的一个框架。
简单来说就是:简化开发、整合框架、减少配置、快速搭建。
SpringBoot特点
- 快速搭建:搭建项目快,几秒钟就可以搭建完成;
- 方便测试:内置了JUnit、Spring Boot Test等多种测试框架;
- 内嵌容器:内嵌了Tomcat、Jetty等,省去了配置Tomcat的繁琐;
- 方便监控:Spring Boot Actuator组件提供了应用的系统监控,可以查看应用配置详细信息;
- 减少配置:基于注解的零配置思想;
- 整合框架:各种流行框架,springmvc,mybatis,spring cloud无缝整合;
Spring和Springboot的关系
Springboot包含了Spring的核心特性,它剥离了Spring中许多“企业特性”,而提供了一个基于Java的、面向REST的微服务框架。只需一些简单的注解,Java开发者就能够快速构建一个可打包和部署的REST微服务,这个微服务并不需要外部的应用容器。
正春华枝俏,待秋实果茂,与君共勉。
Spring 为开发 Java 程序提供了全面的基础架构支持,包括依赖注入以及一些开箱即用的模块,大大缩短了程序的开发时间。
Spring JDBC 、 Spring MVC 、 Spring AOP 、 Spring TEST 、 Spring Security 、 Spring ORM
SpringBoot 是一个轻量级的微服务器,相比 Spring ,它消除了 xml 的配置,嵌入了 Tomcat 、 Jetty Undertow 。尽可能自动的配置Spring 应用。
一、Spring 的介绍
简而言之, Spring 框架为开发 Java 应用程序提供了全面的基础架构支持。它包含一些很好的功能,如依赖注入和开箱即用的模块,如:
Spring JDBC
Spring MVC
Spring Security
Spring AOP
Spring ORM
Spring Test
这些模块可以大大缩短应用程序的开发时间。例如,在 Java Web 开发的早期阶段,我们需要编写大量的重复代码来将记录插入到数据源中。但是通过使用 Spring JDBC 模块的 JDBCTemplate ,我们可以将它简化为只需几个简单配置或者几行代码。
二、SpringBoot 的介绍
Spring Boot 基本上是 Spring 框架的扩展,它消除了设置 Spring 应用程序所需的复杂例行配置。
它的目标和 Spring 的目标是一致的,为更快,更高效的开发生态系统铺平了道路。以下是 Spring Boot 中的一些功能:
通过starter 这一个依赖,以简化构建和复杂的应用程序配置。
可以直接main 函数启动,嵌入式 web 服务器,避免了应用程序部署的复杂性, Metrics 度量, Helth check 健康检查和外部化配置。
尽可能的自动化配置Spring 功能。