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. HCIP-进阶实验04-多运营商BGP协议部署

    HCIP-进阶实验04-多运营商BGP协议部署 1 实验拓扑 2 实验环境说明 2.1 IP地址规划表 设备 接口 IP地址 备注 R1 G0/0/0 12.12.12.1/30 Loopback0 ...

  2. MacBook + 移动SSD实现三系统(Mac OS、windows、ubuntu)

    Windows系统安装 1.我们先要在windows的电脑上下载好,你需要的windows镜像文件(下载地址:https://msdn.itellyou.cn/,个人建议用迅雷下载),下载好winto ...

  3. Ansible基础认识及安装使用详解

  4. Blockchain-enabled Access Control with Fog Nodes for Independent IoTs

    摘要: 物联网设备能力有限且数量多,因此当前的传统物联网平台可能无法在可扩展性.可靠性和实时响应方面有效地处理访问控制.本文提出了一种基于区块链.雾节点和物的角色的分散式物联网访问控制系统,利用以太坊 ...

  5. Go组件库总结之无等待锁

    本篇文章我们用Go封装一个无等待锁库.文章参考自:https://github.com/brewlin/net-protocol 1.锁的封装 type Mutex struct { v int32 ...

  6. Install MySQL wsl1

    To install MySQL on WSL (ie. Ubuntu) env Ubuntu 22.04.1 LTS mysql Ver 8.0.32-0ubuntu0.22.04.2 for Li ...

  7. Asp.Net Core上传大文件请求体限制设置

    IIS进程内部署时 1. Web.Config的<system.webServer>节点下增加 <security> <requestFiltering> < ...

  8. 正确处理iOS从下方滑出滚动视图

    本文提供 Demo下载 在iOS 11开始,从最早的地图应用到最近的捷径,陆续有系统应用使用从下方滑出列表的形式,这种系统提供的圆角风格视图用手势划出和隐藏时非常自然流畅.国内的一些应用也跟进了这种交 ...

  9. Android Studio 生成Jar包以及是否混淆打包等ZengYuanFinn博客等你来查看

    1,Android studio生成jar包的前提是要确保生成的代码是引用的module工程: 2,在需要生成jar包的build.gradle(上图倒数第三行)中添加如下代码: //生成jar包 t ...

  10. uniapp 弹窗输入

    借鉴链接:https://blog.csdn.net/qq_40894259/article/details/110200721 <template> <view class=&qu ...