SpringBoot入门简介(一)

1.SpringBoot简介

1.1 什么是Spring

随着动态语言的流行 (Ruby、Groovy、Scala、Node.js),Java 的开发显得格外的笨重:繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大。java

在上述环境下,Spring Boot 应运而生。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置了一个习惯性的配置,让你无需手动进行配置)的理念让你的项目快速的运行起来。使用 Spring Boot 很容易建立一个独立运行(运行 Jar,内嵌 Servlet 容器)准生产级别的基于 Spring 框架的项目,使用 Spring Boot 你能够不用或者只需不多的 Spring 配置。web

Spring是为了解决企业级应用开发的复杂性而建立的,简化开发。spring

1.2 Spring是如何简化Java开发的

为了下降Java开发的复杂性,Spring采用了如下4种关键策略:编程

一、基于POJO的轻量级和最小侵入性编程;springboot

二、经过IOC,依赖注入(DI)和面向接口实现松耦合;框架

三、基于切面(AOP)和惯例进行声明式编程;maven

四、经过切面和模版减小样式代码;工具

1.3 什么是SpringBoot

学过javaweb的同窗就知道,开发一个web应用,从最初开始接触Servlet结合Tomcat, 跑出一个Hello Wolrld程序,是要经历特别多的步骤; 后来就用了框架Struts,再后来是SpringMVC,到了如今的SpringBoot,过一两年又会有其余web框架出现;不知道大家有没经历过框架不断的演进,而后本身开发项目全部的技术也再不断的变化、改造,反正我是都经历过了,哈哈。云计算

言归正传,什么是SpringBoot呢,就是一个javaweb的开发框架,和SpringMVC相似,对比其余javaweb框架的好处,官方说是简化开发,约定大于配置, you can "just run",能迅速的开发web应用,几行代码开发一个http接口。设计

全部的技术框架的发展彷佛都遵循了一条主线规律:从一个复杂应用场景 衍生 一种规范框架,人们只须要进行各类配置而不须要本身去实现它,这时候强大的配置功能成了优势;发展到必定程度以后,人们根据实际生产应用状况,选取其中实用功能和设计精华,重构出一些轻量级的框架;以后为了提升开发效率,嫌弃原先的各种配置过于麻烦,因而开始提倡“约定大于配置”,进而衍生出一些一站式的解决方案。

是的这就是Java企业级应用->J2EE->spring->springboot的过程。

随着 Spring 不断的发展,涉及的领域愈来愈多,项目整合开发须要配合各类各样的文件,慢慢变得不那么易用简单,违背了最初的理念,甚至人称配置地狱。Spring Boot 正是在这样的一个背景下被抽象出来的开发框架,目的为了让你们更容易的使用 Spring 、更容易的集成各类经常使用的中间件、开源软件;

Spring Boot 基于 Spring 开发,Spirng Boot 自己并不提供 Spring 框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于 Spring 框架的应用程序。也就是说,它并非用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提高 Spring 开发者体验的工具。Spring Boot 以约定大于配置的核心思想,默认帮咱们进行了不少设置,多数 Spring Boot 应用只须要不多的 Spring 配置。同时它集成了大量经常使用的第三方库配置(例如 Redis、MongoDB、Jpa、RabbitMQ、Quartz 等等),Spring Boot 应用中这些第三方库几乎能够零配置的开箱即用,

简单来讲就是SpringBoot其实不是什么新的框架,它默认配置了不少框架的使用方式,就像maven整合了全部的jar包,spring boot整合了全部的框架 。

Spring Boot 出生名门,从一开始就站在一个比较高的起点,又通过这几年的发展,生态足够完善,Spring Boot 已经当之无愧成为 Java 领域最热门的技术。

优势

  • 快速构建项目
  • 对主流开发框架的无配置集成
  • 项目可独立运行,无需外部依赖 Servlet 容器
  • 提供运行时的应用监控
  • 极大地提升了开发、部署效率
  • 与云计算的自然集成
  • 开箱即用,提供各类默认配置来简化项目配置

缺点

  • 版本迭代速度很快,一些模块改动很大
  • 因为不用本身作配置,报错时很难定位
  • 网上现成的解决方案比较少
相关文章
相关标签/搜索