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. Iperf参数详解

    IperfIperf是一个网络性能测试工具,可以测试TCP和UDP最大带宽,具有多种参数和UDP特性,可以根据需要调整,报告带宽,延迟,数据包丢失 通用参数-b(bandwidth):指定UDP模式使 ...

  2. case语法案例

    case语法案例 制作nginx启停脚本 1.条件: 2.思路: 3.脚本 添加删除openvppn用户的脚本 1.实现要求 2.具体脚本 case语法案例 制作nginx启停脚本 1.条件: 启动服 ...

  3. SpringBoot 启动报循环依赖问题

    问题现象 Caused by: org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating b ...

  4. js复选框,三层结构

    最终实现效果如下 html+css如下 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 < ...

  5. ElementUI Select下拉框定位问题!

    今天遇到了下拉不跟随文本框滚动的问题 参考官方手册添加参数: popper-append-to-body="false" 无效[内心很无语]继续检查向上推,查看html样式,发现了 ...

  6. 京准GPS北斗卫星时钟同步系统投运国电内蒙古晶阳能源有限公司

    京准GPS北斗卫星时钟同步系统投运国电内蒙古晶阳能源有限公司  2020年1月初期,我京准科技生产研发的GPS北斗卫星时钟同步系统投运国电内蒙古晶阳能源有限公司,为该单位的能源管理系统及其他各业务子系 ...

  7. 通过 HDU 2048 来初步理解动态规划

    HDU 2048 数塔 问题描述: 题目链接-点我查看题目   给出一个数塔,要求从顶层走到底层,每一步只能从高层走到相邻的低层节点,求经过的结点的数字之和最大是多少? 动态规划的定义   dynam ...

  8. java方法的笔记

    方法 方法的概念 方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集 注意: 方法必须先创建才可以使用,该过程成为方法定义 方法创建后并不是直接可以运行的,需要手动 ...

  9. Win10官方1909版本无法打开windows安全中心中病毒和威胁防护的实时保护解决方案。

    进入手痒难耐,将电脑操作系统重新安装了win10 专业工作站版 1909版,但是装完软件激活后,发现windows安全中心的"病毒和威胁防护"中的所有项目都是关闭的,试着重新安装也 ...

  10. 00_learn_python

    https://gitee.com/yooome/golang/tree/main 百度网盘资源搜索 http://www.panmeme.com/ You can use it to debug y ...