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. java poi技术基础案例

    基础 HSSF - 提供读写Microsoft Excel格式档案的功能.(03版本,处理xls) XSSF - 提供读写Microsoft Excel OOXML格式档案的功能.(07版本,处理xl ...

  2. 蓝牙mesh组网实践(手机配网例程配合wch mesh手机app的使用)

    目录 CH582的官方EVT在22年7月更新后,修改了手机配网代码以支持wch mesh手机app.使用该app可以保存手动配网信息,设置订阅地址分组,OTA升级,极大方便了用户管理节点. 老版本的E ...

  3. 如何在Axure RP 8.0 中打开页面指定的动态面板

    有时在制作原型的时候,需要打开另一个页面指定的动态面板,研究了一下分享给大家 方法/步骤 1.打开Axure RP 8.0,在index面面中拖出来一个按钮,写上文字"打开page1/sta ...

  4. java传递参数调用python完成剪切多个视频最终拼接成一个

    需求如题,综合考虑之后我选择python去做视频处理,最终结果也让我非常满意. 我是windows 环境,安装的python3.8和moviepy模块 第一步:安装python3.8 第二步:修改py ...

  5. 原生django怎么给响应头添加信息

    原生django怎么给响应头添加信息 直接在HttpResponse响应对象中添加键值对就行 视图层 ---------------------- def test_func(request): # ...

  6. idea如何引入外部jar包

    原文转载:https://blog.csdn.net/weixin_46949892/article/details/121602175

  7. vue 中 表单数据为数组,v-for 循环表单数据

    element-ui 中,表单数据一般为对象,但是也有是数组的情况,比如上面图示:账号和密码可以是多个,点击添加会增加一条,点击删除会删除一条 表单数据为 form:{ accounts:[ { ac ...

  8. 前端性能测试lighthouse的使用

    lighthouse的安装有两种方式: github地址:https://github.com/GoogleChrome/lighthouse 一.如果可以FQ的话可以从 chrome 扩展插件里直接 ...

  9. 给含有关键词的label着色

    给含有关键词的label着色 FineFileType() { let arr = document.querySelectorAll('.el-checkbox__label'); for (let ...

  10. 内容类型框架-ContentType 模型

    参考Django官方文档 ContentTypeManager¶ classContentTypeManager¶ ContentType 还有一个自定义管理器, ContentTypeManager ...