Spring Boot 简介

提供了四个主要的特性,能够改变开发Spring应用程序的方式:

  • Spring Boot Starter : 将常用的依赖分组进行整合,将其合并到一个依赖中,可以以此行添加到项目的Maven或Gradle构建中。
  • 自动配置: Spring Boot的自动配置特性利用了 Spring 4 对条件化配置的支持,合理地推测应用所需的bean并自动化配置它们;
  • 命令行接口 (Command-line interface, CLI ) : Spring Boot 的 CLI 发挥了 Groovy 编程语言的优势,并结合自动配置进一步简化 Spring 应用的开发;
  • Actuator : 它为 Spring Boot 应用添加了一定的管理特性。

创建一个新的Spring 应用。

  1. 是一个Web项目,因此需要使用 Spring MVC.
  2. 需要 REST API 将资源暴露为 JSON, 所以在构建中需要包含 Jackson JSON 库。
  3. 应用需要使用JDBC 从关系型数据库中存储和查询数据,因此确保包含了 Spring 的 JDBC 模块。JdbcTemplate .
  4. Spring 的事务模块。
  5. 使用 H2 数据库。
  6. 使用 Thymeleaf 建立 Spring MVC 视图。

Starter 依赖的内部原理,工作方式,使用了 Maven 和 Gradle 的依赖传递方案, Starter 在自己的 pom.xml 文件中声明了多个依赖。

依赖是传递性的,例如 mobile Starter 就引用了 Web Starter, 后者引用了 Tomcat Starter .

Spring Boot 的 Starter 减少了构建中依赖列表的长度,而 Spring Boot 的自动配置功能则削减了 Spring 配置的数量。

使用 Thymeleaf 模板作为 Spring MVC 的视图,至少需要三个bean :

ThymeleafViewResolver , SpringTemplateEngine , TemplateResolver

但是使用Spring Boot 自动配置, 仅需要将 Thymeleaf 添加到项目的 类路径中。

Spring Boot Starter 会触发自动配置, 要使用 Spring MVC 的话,需要的仅是将 Web Starter 作为依赖放到构建中。会自动添加 Spring MVC 依赖。如果 Spring Boot 的 Web 自动配置探测到 Spring MVC 位于类路径下,会自动配置支持 Spring MVC 的多个 bean,包括 视图解析器、资源处理器、消息转换器 等。

Spring Boot CLI 能够自动导入 Spring 类型并解析依赖。

Actuator

带来的特性:

  • 管理端点;
  • 合理的异常处理以及默认的“/error" 映射端点。
  • 获取应用信息的 ”/info“端点
  • 当启用 Spring Security 时,会有一个审计事件框架。

Software--Spring Boot--Contact 项目初期的更多相关文章

  1. Spring Boot 商城项目

    Spring Boot 商城项目 angularJS Demo1 <html> <head> <title>angularJS Demo1</title> ...

  2. SpringCloud 微服务一:spring boot 基础项目搭建

    spring cloud是建立在spring boot的基础上的,而之前虽然听说过,也随便看了一下spring boot,却没有真正使用,因此还必须先花时间学一下spring boot. spring ...

  3. 有哪些值得学习的spring boot开源项目?

    1. awesome-spring-boot 首先给大家介绍的就是Spring Boot 中文索引,这是一个专门收集 Spring Boot 相关资料的开源项目,也有对应的导航页面. 产品主页 htt ...

  4. 15 个优秀开源的 Spring Boot 学习项目,一网打尽!

    Spring Boot 算是目前 Java 领域最火的技术栈了,松哥年初出版的 <Spring Boot + Vue 全栈开发实战>迄今为止已经加印了 8 次,Spring Boot 的受 ...

  5. Spring boot Gradle项目搭建

    Spring boot Gradle项目搭建 使用IDEA创建Gradle工程     操作大致为:File->new->Project->Gradle(在左侧选项栏中)     创 ...

  6. 【spring】1.2、Spring Boot创建项目

    Spring Boot创建项目 在1.1中,我们通过"Spring Starter Project"来创建了一个项目,实际上是使用了Pivotal团队提供的全新框架Spring B ...

  7. 15 个优秀开源的 Spring Boot 学习项目

    Spring Boot 算是目前 Java 领域最火的技术栈了,松哥年初出版的 <Spring Boot + Vue 全栈开发实战>迄今为止已经加印了 8 次,Spring Boot 的受 ...

  8. 最近做的一个Spring Boot小项目,欢迎大家访问 http://39.97.115.152/

    最近做的一个Spring Boot小项目,欢迎大家访问 http://39.97.115.152/,帮忙找找bug,网站里有源码地址 网站说明 甲壳虫社区(Beetle Community) 一个开源 ...

  9. 1.spring boot初始化项目

    初始化spring boot项目的方式非常多,如使用Spring Tool Suite.使用IntelliJ IDEA.使用NetBeans.在start.spring.io网站中.curl命令.sp ...

  10. 【spring boot】spring boot的自定义banner修改+spring boot启动项目图标修改

    1.启动Spring Boot项目后会看到这样的图案,这个图片其实是可以自定义的,打开网站 http://patorjk.com/software/taag/#p=display&h=3&am ...

随机推荐

  1. 【Shell】DBeaver Enterprise Edition 5.1.1 Download

    DBeaver Enterprise Edition 5.1.1 Download mkdir -p /opt/downloads/dbeaver/dbeaver-ee-5.1.1 mkdir -p ...

  2. 配置python库源为清华源

    目录 Windows Ubuntu pip较低版本 pip较高版本 Windows %HOMEPATH%/pip/pip.ini [global] index-url = https://pypi.t ...

  3. JS form表单数据校验及失效情况下的解决方案

    如下图,当执行提交操作之前,我们需要对序号,要求完成时间,责任人,措施内容四项进行非空,字符长度及输入内容的类型进行校验. 直接贴样式代码 <div class="wrapper an ...

  4. JAVA诞生历史【转载】

    一.计算机语言的发展史 1.第一代语言(只有机器能读懂,人根本读不懂) 纯机器语言 2.第二代语言(机器能读懂,人可以读懂,但是很难懂) 汇编语言(符号语言) 3.第三代语言(机器能读懂,也非常便于人 ...

  5. flink 1.10.0源码编译

    1.安装git yum -y install git 2.安装maven 安装了3.3以下低版本的maven会有提示升级,这里安装3.6.3 wget https://mirrors.tuna.tsi ...

  6. docker compose服务编排简介、基于发布包构建多个webapi容器 和 基于镜像实现Nginx反向代理webapi

    一. docker compose服务编排简介 1. 背景 微服务架构的应用系统中一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,维护的工作量会很大: A. 要创建镜 ...

  7. 使用python启动appium(虚拟器)

    1.先安装各种库 https://www.cnblogs.com/zhanglingling00/p/14169462.html pip install Appium-Flutter-Finder p ...

  8. mysql企业常用集群架构

    转自 https://blog.csdn.net/kingice1014/article/details/76020061 1.mysql企业常用集群架构 在中小型互联网的企业中.mysql的集群一般 ...

  9. Linux Shell开发功能点

    背景 需要操作一批次服务器安装Docker 功能特色 一键执行 bash <(curl -s -L http://server.com/installDocker.sh) MemberNode ...

  10. 【运维】Linux/Ec2挂载卷与NFS搭建实站讲解

    英文Network File System(NFS),是由SUN公司研制的UNIX表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计 ...