【SpringBoot】1.SpringBoot介绍

一、SpringBoot产生的契机
我们知道,搭建一个Spring+Struts+Hibernate(SSH)架构或Spring+SpringMVC+MyBatis(SSM)架构的应用,基本上都需要以下步骤:
(1)配置Maven依赖
(2)配置数据库properties配置文件,日志properties文件
(3)配置Spring核心类加载文件bean.xml,其中会配置:
    a.properties配置引入
    b.包扫描
    c.数据源(数据库连接池)
    d.数据库会话工厂
    e.事务管理、通知
    f.其它相关bean配置
(4)在web.xml中配置springmvc/struts过滤器
(5)构建dao、service以及业务层
(6)创建实体类javaBean
(7)编写sql配置(SpringMVC的Mapper文件)或sql表结构配置(hibernate的表结构xml)
我们可以看到,构建一个SSH或者SSM的web工程需要前期大量的配置和编写,搭建环境耗费了一定的时间。

目前有很多中小型企业的业务量比较小,应用的体积不大,为了提高开发效率,既需要Java工程的稳定性,有需要Web工程配置的简约、高效率,那么传统结构的SSH与SSM工程满足不了他们的需求,于是乎SpringBoot应运而生。

二、什么是SpringBoot?
顾名思义,SpringBoot自然是在Spring的基础上产生的(确切的说是Spring4.0版本的基础上),其中“Boot”的意思就是“引导”(不是靴子^_^),意在简化开发模式,使开发者快速开发出基于Spring的应用。
SpringBoot并不是Spring官方的框架模式,而是由Pivotal团队二次开发并开源提供。它的设计目的就是为了简化Spring应用的初始搭建以及开发过程。SpringBoot的出现使得开发人员不再拘于繁琐的模板化的配置,可以快速搭建应用。
要注意的是,SpringBoot不是一个新的框架,而是在Spring框架的基础上做了大量的优化。

三、SpringBoot特点
都说SpringBoot简化了前期配置和开发流程,那么它的简化特点是什么呢?
SpringBoot的特点如下所示:
(1)自动配置Spring
不需要配置Spring的数据源、连接池、事务通知等类加载初始化等信息,SpringBoot会
自动讲这些信息配置完毕。
下图就是SpringBoot简化配置的过程:

SpringBoot将原有的XML配置改为Java配置,将bean注入改为使用注解注入的方式(@Autowire),并将多个xml、properties配置浓缩在一个appliaction.yml配置文件中。

(2)简化Maven配置,整合常用依赖
SpringBoot的依赖整合了常用的开发库,例如spring-webmvc、jackson-json、validation-api和tomcat等。当我们引入核心依赖时,SpringBoot会自引入其他依赖。
我们不需要再自己寻找web相关的jar包依赖一个一个自己添加进去,只需要引入SpringBoot为我们提供的核心依赖即可。
下面是SpringBoot的依赖架构,其中“spring-boot-sterter-web”就包含了web开发的常用依赖:

(3)可自动嵌入中间件插件(Tomcat/Jboss/jetty)
SpringBoot的核心依赖中包含了Server服务的基本jar,当我们需要什么中间件时,替换
相关的SpringBoot中间件依赖即可,它会帮我们识别中间件

(4)提供应用状态(指标,健康检查和外部配置)
SpringBoot还可以提供应用的运行状态,供开发人员观察项目目前运行的情况。

总结一句话,SpringBoot就是一个轻量级,简化配置和开发流程的web整合框架。

时间: 2024-11-13 21:28:09

【SpringBoot】1.SpringBoot介绍的相关文章

Springboot】Springboot整合邮件服务(HTML/附件/模板-QQ、网易)

介绍 邮件服务是常用的服务之一,作用很多,对外可以给用户发送活动.营销广告等:对内可以发送系统监控报告与告警. 本文将介绍Springboot如何整合邮件服务,并给出不同邮件服务商的整合配置. 如图所示: Springboot整合邮件服务 开发过程 Springboot搭建 Springboot的搭建非常简单,我们使用 Spring Initializr来构建,十分方便,选择需要用到的模块,就能快速完成项目的搭建: Spring Initializr 引入依赖 为了使用邮件服务,我们需要引入相关

SpringBoot(四) -- SpringBoot与Web开发

一.发开前准备 1.创建一个SpringBoot应用,引入我们需要的模块 2.SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置,就能运行起来 3.编写业务代码 二.静态资源映射规则 在WebMvcAutoConfiguration中有着如下的配置: 1 @Override 2 public void addResourceHandlers(ResourceHandlerRegistry registry) { 3 if (!this.resourceProperti

【SpringBoot】SpringBoot配置与单元测试(二)

SpringBoot项目创建参考[SpringBoot]SpringBoot快速入门(一) 本文介绍SpringBoot项目的POM文件.配置与单元测试 POM文件 1.SpringBoot的pom文件中,看到都依赖一个springboot的父项目,如下 1 <parent> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring‐boot‐starter‐parent</a

【SpringBoot】SpringBoot Web开发(八)

本周介绍SpringBoot项目Web开发的项目内容,及常用的CRUD操作,阅读本章前请阅读[SpringBoot]SpringBoot与Thymeleaf模版(六)的相关内容 Web开发 项目搭建 1.新建一个SpringBoot的web项目.pom.xml文件如下: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/PO

SpringBoot项目结构介绍

一项目结构介绍 springboot框架本身对项目结构并没有特别的要求,但是按照最佳的项目结构可以帮助我们减少可能遇到的错误问题.结构如下: (1)应用主类SpringbootApplication应该放于根目录下springboot下,通常我们会在主类中做一些框架配置 扫描等配置,SpringbootApplication放在根目录下可以可以帮助程序减少手工配置来加载到我们希望被Spring加载的内容. (2)实体(entity)与数据库访问层(Repository)位于domain包下. (

SpringBoot实践 - SpringBoot+mysql

关于springBoot是个神马东西以及优缺点,请自行搜索了解. LZ看到很多关于SpringBoot的Demo,单看一篇总是没法整合SpringBoot与Mysql.没法子,还是自己操刀来一发为妙. 本文将叙述关于SpringBoot与mysql整合实践. 1.Eclipse 整合SpringBoot插件.(此步骤非常耗时,LZ本身尝试了多次.请在网络环境优情况下下进行操作) a.Eclipse 安装STS插件: eclipse->help->Eclipse Marketplace b.检测

【SpringBoot】SpringBoot基础-HelloWord实例

转载请注明出处:http://blog.csdn.net/qq_26525215 本文源自[大学之旅_谙忆的博客] 这是我学习SpringBoot的入门系列哦,欢迎阅读. SpringBoot的简介我就不写一个篇章来介绍了,相信大家搜索一下,网上一大堆. 首先,SpringBoot的推出不是用来替代Spirng的,而是精简Spring的配置的.也就是优化Spirng的. 下面直接上实例吧. 环境配置: win7 Intellij IDEA 使用的是2016 1.2以后的版本 JDK1.8 Mav

springboot系列-springboot整合RabbitMQ

一 RabbitMQ的介绍 RabbitMQ是消息中间件的一种,消息中间件即分布式系统中完成消息的发送和接收的基础软件.这些软件有很多,包括ActiveMQ(apache公司的),RocketMQ(阿里巴巴公司的,现已经转让给apache). 消息中间件的工作过程可以用生产者消费者模型来表示.即,生产者不断的向消息队列发送信息,而消费者从消息队列中消费信息.具体过程如下: 从上图可看出,对于消息队列来说,生产者,消息队列,消费者是最重要的三个概念,生产者发消息到消息队列中去,消费者监听指定的消息

【spring-boot】 springboot集成quartz实现定时任务

在做项目时有时候会有定时器任务的功能,比如某某时间应该做什么,多少秒应该怎么样之类的. spring支持多种定时任务的实现.我们来介绍下使用spring的定时器和使用quartz定时器 1.我们使用spring-boot作为基础框架,其理念为零配置文件,所有的配置都是基于注解和暴露bean的方式. 2.使用spring的定时器: spring自带支持定时器的任务实现.其可通过简单配置来使用到简单的定时任务. @Component @Configurable @EnableScheduling p

「快学springboot」SpringBoot整合freeMark模板引擎

前言 虽然现在流行前后端分离开发和部署,但是有时候还是需要用到服务端渲染页面的.比如:需要考虑到SEO优化等问题的时候,FreeMark其实还是很有作用的.本人的博客本来是用React开发的,但是后来发现搜索引擎难以收集由JS渲染的页面,所以前段时间,是用jQuery+FreeMark重写了我的博客前端页面.感兴趣的朋友,可以点击下面的查看更多的链接跳转至本人的博客. 在springboot中,不推荐使用JSP(其实任何项目都不推荐使用JSP),而是推荐使用模板引擎,如FreeMark.其实使用