博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Boot参考指南
阅读量:6202 次
发布时间:2019-06-21

本文共 11221 字,大约阅读时间需要 37 分钟。

hot3.png

Spring Boot参考指南

作者

菲利普· 韦伯,戴夫 Syer,约什 长,斯特凡 尼科尔,罗布 绞车,安迪· 威尔金森,马塞尔 Overdijk,基督教 杜普伊斯,塞巴斯蒂安· 德勒兹,迈克尔· 西蒙斯,韦德兰 Pavić,周杰伦 科比, Madhura 巴维
2.0.3.RELEASE

版权所有©2012-2018

本文件副本可供您自行使用并分发给其他人,前提是您不收取任何此类副本的费用,并进一步规定每份副本均包含此版权声明,无论是以印刷版还是电子版分发.

I. Spring Boot文档

    1.关于文档
    2.获得帮助
    3.第一步
    4.使用Spring Boot
    5.了解Spring Boot特性
    6.转向生产
    7.高级主题
II.入门
    8.介绍Spring Boot
    9.系统要求
        9.1.Servlet容器
    10.安装Spring Boot
        10.1.Java开发人员的安装说明
            10.1.1.Maven安装
            10.1.2.Gradle安装
        10.2.安装Spring Boot CLI
            10.2.1.手动安装
            10.2.2.使用SDKMAN进行安装!
            10.2.3.OSX Homebrew安装
            10.2.4.MacPorts安装
            10.2.5.命令行完成
            10.2.6.Windows Scoop安装
            10.2.7.快速启动Spring CLI示例
        10.3.从较早版本的Spring Boot升级
    11.开发你的第一个Spring Boot应用程序
        11.1.创建POM
        11.2.添加类路径依赖关系
        11.3.编写代码
            11.3.1.@RestController和@RequestMapping注解
            11.3.2.@EnableAutoConfiguration注释
            11.3.3.“主要”方法
        11.4.运行示例
        11.5.创建一个可执行的Jar
    12.下一步阅读什么
III.使用Spring Boot
    13.建立系统
        13.1. Dependency Management
        13.2.Maven的
            13.2.1.继承初始父项
            13.2.2.使用没有父POM的Spring Boot
            13.2.3.使用Spring Boot Maven插件
        13.3.摇篮
        13.4.蚂蚁
        13.5.首发
    14.构建你的代码
        14.1.使用“默认”包
        14.2.查找主要应用程序类
    15.配置类
        15.1.导入其他配置类
        15.2.导入XML配置
     16. Auto-configuration
        16.1.逐渐替换自动配置
        16.2.禁用特定的自动配置类
    17.春豆和依赖注入
    18.使用@SpringBootApplication注释
    19.运行你的应用程序
        19.1.从IDE运行
        19.2.作为打包应用程序运行
        19.3.使用Maven插件
        19.4.使用Gradle插件
        19.5.热交换
    20.开发人员工具
        20.1. Property Defaults
        20.2.自动重启
            20.2.1.记录条件评估中的更改
            20.2.2.排除资源
            20.2.3.看额外的路径
            20.2.4.禁用重新启动
            20.2.5.使用触发文件
            20.2.6.自定义重启类加载器
            20.2.7. Known Limitations
        20.3.LiveReload
        20.4.全局设置
        20.5.远程应用
            20.5.1. Running the Remote Client Application
            20.5.2.远程更新
    21.包装您的生产申请
    22.下一步阅读什么
IV.Spring Boot功能
    23. SpringApplication
        23.1.启动失败
        23.2.自定义横幅
        23.3.自定义SpringApplication
        23.4.Fluent Builder API
        23.5.应用程序事件和监听器
        23.6.Web环境
        23.7.访问应用程序参数
        23.8.使用ApplicationRunner或CommandLineRunner
        23.9.申请退出
        23.10.管理功能
    24.外部化配置
        24.1.配置随机值
        24.2.访问命令行属性
        24.3.应用程序属性文件
        24.4.配置文件特定的属性
        24.5.属性中的占位符
        24.6.使用YAML而不是属性
            24.6.1.正在加载YAML
            24.6.2.在Spring环境中将YAML作为属性公开
            24.6.3.多配置文件YAML文件
            24.6.4.YAML的缺点
        24.7.类型安全的配置属性
            24.7.1.第三方配置
            24.7.2.轻松的绑定
            24.7.3.合并复杂类型
            24.7.4.属性转换
            转换持续时间
            24.7.5.@ConfigurationProperties验证
            24.7.6.@ConfigurationProperties与@Value
    25.简介
        25.1.添加活动配置文件
        25.2.编程设置配置文件
        25.3.配置文件特定的配置文件
    26. Logging
        26.1.日志格式
        26.2.控制台输出
            26.2.1.彩色编码输出
        26.3.文件输出
        26.4.日志级别
        26.5. Custom Log Configuration
        26.6.Logback扩展
            26.6.1.配置文件特定的配置
            26.6.2.环境属性
     27.开发Web应用程序
        27.1.“Spring Web MVC框架”
            27.1.1.Spring MVC自动配置
            27.1.2.HttpMessageConverters
            27.1.3.自定义JSON序列化器和反序列化器
            27.1.4.MessageCodesResolver的信息
27.1.5.静态内容
27.1.6.欢迎页面
27.1.7.自定义Favicon
27.1.8.路径匹配和内容协商
27.1.9.ConfigurableWebBindingInitializer
10年1月27日.模板引擎
11年1月27日.错误处理
自定义错误页面
Mapping Error Pages outside of Spring MVC
12年1月27日.春天的HATEOAS
13年1月27日.CORS支持
27.2.“Spring WebFlux框架”
27.2.1.Spring WebFlux自动配置
27.2.2.使用HttpMessageReaders和HttpMessageWriters的HTTP编解码器
27.2.3.静态内容
27.2.4.模板引擎
27.2.5.错误处理
自定义错误页面
27.2.6.网页过滤器
27.3.JAX-RS和泽西岛
27.4.嵌入式Servlet容器支持
27.4.1.Servlet,过滤器和监听器
将Spring Servlet,过滤器和监听器注册为Spring Bean
27.4.2.Servlet上下文初始化
扫描Servlet,筛选器和侦听器
27.4.3.ServletWebServerApplicationContext
27.4.4.定制嵌入式Servlet容器
程序化定制
直接自定义ConfigurableServletWebServerFactory
27.4.5.JSP限制
28.安全
28.1.MVC安全
28.2.WebFlux安全
28.3.的OAuth2
28.3.1.客户
28.3.2.服务器
28.4.执行器安全
28.4.1.跨站请求伪造保护
29.使用SQL数据库
29.1.配置一个数据源
29.1.1.嵌入数据库支持
29.1.2.连接到生产数据库
29.1.3.连接到JNDI数据源
29.2.使用JdbcTemplate
29.3.JPA和“Spring Data”
29.3.1.实体类
29.3.2.Spring Data JPA存储库
29.3.3.创建和删除JPA数据库
29.3.4.在View中打开EntityManager
29.4. Using H2’s Web Console
29.4.1.更改H2 Console的路径
29.5.使用jOOQ
29.5.1.代码生成
29.5.2.使用DSLContext
29.5.3.jOOQ SQL方言
29.5.4.定制jOOQ
30.与NoSQL Technologies合作
30.1.Redis的
30.1.1.连接到Redis
30.2.MongoDB的
30.2.1.连接到MongoDB数据库
30.2.2.MongoTemplate
30.2.3.Spring Data MongoDB存储库
30.2.4.嵌入式Mongo
30.3.Neo4j的
30.3.1.连接到Neo4j数据库
30.3.2.使用嵌入式模式
30.3.3.Neo4jSession
30.3.4.Spring Data Neo4j存储库
30.3.5.存储库示例
30.4.的GemFire
30.5.Solr的
30.5.1.连接到Solr
30.5.2.Spring Data Solr存储库
30.6.Elasticsearch
30.6.1.使用Jest连接到Elasticsearch
30.6.2.通过使用Spring数据连接到Elasticsearch
30.6.3.Spring Data Elasticsearch存储库
30.7.卡桑德拉
30.7.1.连接到Cassandra
30.7.2.Spring Data Cassandra存储库
30.8.Couchbase
30.8.1.连接到Couchbase
30.8.2.Spring Data Couchbase存储库
30.9.LDAP
30.9.1.连接到LDAP服务器
30.9.2.Spring数据LDAP存储库
30.9.3.嵌入式内存LDAP服务器
30.10.InfluxDB
30.10.1.连接到InfluxDB
31.缓存
31.1.支持的缓存提供程序
31.1.1.通用
31.1.2.JCache(JSR-107)
31.1.3.EhCache 2.x
31.1.4.Hazelcast
31.1.5.Infinispan的
31.1.6.Couchbase
31.1.7.Redis的
31.1.8.咖啡因
31.1.9.简单
10年1月31日.没有
32. Messaging
32.1.JMS
32.1.1.ActiveMQ支持
32.1.2.Artemis支持
32.1.3.使用JNDI ConnectionFactory
32.1.4.发送消息
32.1.5.接收消息
32.2.AMQP
32.2.1.RabbitMQ支持
32.2.2. Sending a Message
32.2.3.接收消息
32.3.Apache Kafka支持
32.3.1.发送消息
32.3.2.接收消息
32.3.3.额外的卡夫卡属性
33.用REST调用REST服务 RestTemplate
33.1.RestTemplate自定义
34.用REST调用REST服务 WebClient
34.1.WebClient自定义
35.验证
36.发送电子邮件
37.与JTA的分布式事务
37.1.使用Atomikos事务管理器
37.2.使用Bitronix事务管理器
37.3.使用Narayana事务管理器
37.4.使用Java EE托管事务管理器
37.5.混合XA和非XA JMS连接
37.6.支持替代嵌入式事务管理器
38. Hazelcast
39.石英调度器
40.春季融合
41. Spring Session
42.通过JMX进行监视和管理
43.测试
43.1.测试范围依赖关系
43.2.测试Spring应用程序
43.3.测试Spring Boot应用程序
43.3.1. Detecting Web Application Type
43.3.2.检测测试配置
43.3.3.不包括测试配置
43.3.4.使用运行的服务器进行测试
43.3.5.使用JMX
43.3.6.嘲笑和侦察豆
43.3.7. Auto-configured Tests
43.3.8.自动配置的JSON测试
43.3.9.自动配置的Spring MVC测试
43.3.10.自动配置的Spring WebFlux测试
43.3.11.自动配置的数据JPA测试
43.3.12.自动配置的JDBC测试
43.3.13.自动配置的jOOQ测试
43.3.14.自动配置的数据MongoDB测试
43.3.15.自动配置的数据Neo4j测试
43.3.16.自动配置的数据Redis测试
43.3.17.自动配置的数据LDAP测试
43.3.18.自动配置的REST客户端
43.3.19.自动配置的Spring REST Docs测试
自动配置的Spring REST Docs使用Mock MVC进行测试
自动配置的Spring REST Docs使用REST Assured进行测试
43.3.20.用户配置和切片
43.3.21.使用Spock测试Spring Boot应用程序
43.4.测试实用程序
43.4.1.ConfigFileApplicationContextInitializer
43.4.2.TestPropertyValues
43.4.3.OutputCapture
43.4.4.TestRestTemplate
44. WebSockets
45.网络服务
46.创建您自己的自动配置
46.1.了解自动配置的Bean
46.2.查找自动配置候选人
46.3.条件注释
46.3.1.班级条件
46.3.2.豆条件
46.3.3.财产状况
46.3.4.资源条件
46.3.5.Web应用程序条件
46.3.6.SpEL表达条件
46.4.测试你的自动配置
46.4.1.模拟Web上下文
46.4.2.覆盖类路径
46.5.创建你自己的启动器
46.5.1.命名
46.5.2.autoconfigure模
46.5.3.入门模块
47. Kotlin的支持
47.1.要求
47.2.空安全
47.3.Kotlin API
47.3.1.runApplication
47.3.2.扩展
47.4.依赖管理
47.5. @ConfigurationProperties
47.6.测试
47.7.资源
47.7.1.进一步阅读
47.7.2.例子
48.下一步阅读什么
V. Spring Boot执行器:生产就绪功能
49.启用生产就绪功能
50.终点
50.1.启用端点
50.2. Exposing Endpoints
50.3.保护HTTP端点
50.4.配置端点
50.5.执行器Web终端的超媒体
50.6.执行器Web端点路径
50.7.CORS支持
50.8.实现自定义端点
50.8.1.接收输入
输入类型转换
50.8.2.自定义Web端点
Web端点请求谓词
路径
HTTP方法
消费
产生
Web端点响应状态
Web端点范围请求
Web端点安全
50.8.3.Servlet端点
50.8.4.控制器端点
50.9.健康信息
50.9.1.自动配置的HealthIndicators
50.9.2.编写自定义HealthIndicators
50.9.3.反应性健康指标
50.9.4.自动配置的ReactiveHealthIndicators
50.10.应用信息
50.10.1.自动配置InfoContributors
50.10.2.自定义应用信息
50.10.3.Git提交信息
50.10.4.构建信息
50.10.5.编写自定义InfoContributors
51.通过HTTP进行监控和管理
51.1.自定义管理端点路径
51.2.自定义管理服务器端口
51.3.配置管理特定的SSL
51.4.自定义管理服务器地址
51.5.禁用HTTP端点
52.通过JMX进行监控和管理
52.1.定制MBean名称
52.2.禁用JMX终结点
52.3.通过HTTP使用Jolokia进行JMX
52.3.1.定制Jolokia
52.3.2.禁用Jolokia
伐木者
53.1.配置记录器
54.度量
54.1.入门
54.2.支持的监测系统
54.2.1.舆图
54.2.2.Datadog
54.2.3.神经节
54.2.4.石墨
54.2.5.辐辏
54.2.6.JMX
54.2.7.新的遗物
54.2.8.普罗米修斯
54.2.9.SignalFx
54.2.10.简单
54.2.11.StatsD
54.2.12.波前
54.3.支持的度量标准
54.3.1.Spring MVC度量标准
54.3.2.Spring WebFlux指标
54.3.3.RestTemplate指标
54.3.4.高速缓存指标
54.3.5.数据源指标
54.3.6.RabbitMQ指标
54.4.注册自定义指标
54.5.自定义各个指标
54.5.1.每米性能
54.6.指标终点
55.审计
56. HTTP跟踪
56.1.自定义HTTP跟踪
57.过程监测
57.1.扩展配置
57.2.编程
58. Cloud Foundry支持
58.1. Disabling Extended Cloud Foundry Actuator Support
58.2.Cloud Foundry自签名证书
58.3.自定义上下文路径
59.接下来要读什么
VI.部署Spring Boot应用程序
60.部署到云
60.1.Cloud Foundry
60.1.1.绑定到服务
60.2.Heroku的
60.3.OpenShift
60.4.亚马逊网络服务(AWS)
60.4.1.AWS Elastic Beanstalk
使用Tomcat平台
使用Java SE平台
60.4.2.概要
60.5.Boxfuse和亚马逊网络服务
60.6.Google Cloud
61.安装Spring Boot应用程序
61.1.支持的操作系统
61.2.Unix / Linux服务
61.2.1.安装即init.d服务(System V)
确保init.d服务
61.2.2.安装即systemd服务
61.2.3.自定义启动脚本
在写入时自定义启动脚本
在运行时自定义脚本
61.3.Microsoft Windows服务
62.接下来要读什么
七.Spring Boot CLI
63.安装CLI
64.使用CLI
64.1.使用CLI运行应用程序
64.1.1.推导出“抢”依赖
64.1.2.推导出“抢”坐标
64.1.3.默认导入语句
64.1.4.自动主要方法
64.1.5.定制依赖管理
64.2.有多个源文件的应用程序
64.3.打包你的应用程序
64.4.初始化新项目
64.5.使用嵌入式外壳
64.6.向CLI添加扩展
65.使用Groovy Beans DSL开发应用程序
66.使用CLI配置CLI settings.xml
67.接下来要读什么
八.构建工具插件
68. Spring Boot Maven插件
68.1.包括插件
68.2.打包可执行的jar和war文件
69. Spring Boot Gradle插件
70. Spring Boot AntLib模块
70.1.Spring Boot Ant任务
70.1.1. spring-boot:exejar
70.1.2.例子
70.2. spring-boot:findmainclass
70.2.1.例子
71.支持其他构建系统
71.1.重新包装档案
71.2.嵌套库
71.3.找到一个主要类
71.4.示例重新打包实施
72.接下来要读什么
IX.'指导'指南
73. Spring Boot Application
73.1.创建你自己的FailureAnalyzer
73.2.解决自动配置问题
73.3.在开始之前自定义环境或ApplicationContext
73.4.构建ApplicationContext层次结构(添加父级或根级上下文)
73.5.创建一个非Web应用程序
74.属性和配置
74.1.在构建时自动扩展属性
74.1.1.使用Maven自动扩展属性
74.1.2.使用Gradle的自动属性扩展
74.2.外部化配置SpringApplication
74.3.更改应用程序的外部属性的位置
74.4.使用'短'命令行参数
74.5.使用YAML作为外部属性
74.6.设置活动的弹簧配置文件
74.7.根据环境更改配置
74.8.发现外部属性的内置选项
75.嵌入式Web服务器
75.1.使用另一个Web服务器
75.2.禁用Web服务器
75.3.更改HTTP端口
75.4.使用随机未分配的HTTP端口
75.5.在运行时发现HTTP端口
75.6.启用HTTP响应压缩
75.7.配置SSL
75.8.配置HTTP / 2
75.8.1.HTTP / 2与Undertow
75.8.2.HTTP / 2与Jetty
75.8.3.HTTP / 2与Tomcat
75.9.配置Web服务器
75.10.将Servlet,Filter或Listener添加到应用程序中
75.10.1.使用Spring Bean添加Servlet,Filter或Listener
禁用Servlet或Filter的注册
75.10.2.通过使用类路径扫描添加Servlet,筛选器和监听器
75.11.配置访问日志记录
75.12.运行在前端代理服务器后面
75.12.1.自定义Tomcat的代理配置
75.13.使用Tomcat启用多个连接器
75.14.使用Tomcat的LegacyCookieProcessor
75.15.使用Undertow启用多个监听器
75.16.使用@ServerEndpoint创建WebSocket端点
76. Spring MVC
76.1.编写一个JSON REST服务
76.2.编写一个XML REST服务
76.3.自定义Jackson ObjectMapper
76.4.自定义@ResponseBody呈现
76.5.处理多部分文件上传
76.6.关闭Spring MVC DispatcherServlet
76.7.关闭默认的MVC配置
76.8.自定义ViewResolvers
77.泽西岛
77.1.使用Spring Security来保护Jersey端点
HTTP客户端
78.1.配置RestTemplate以使用代理
记录
79.1.配置Logback进行日志记录
79.1.1.为纯文件输出配置Logback
79.2.配置Log4j进行日志记录
79.2.1.使用YAML或JSON配置Log4j 2
80.数据访问
80.1.配置一个自定义数据源
80.2.配置两个数据源
80.3.使用Spring数据存储库
80.4.Spring配置分离@实体定义
80.5.配置JPA属性
80.6.配置Hibernate命名策略
80.7.使用自定义EntityManagerFactory
80.8.使用两个EntityManagers
80.9.使用传统persistence.xml文件
80.10.使用Spring Data JPA和Mongo仓库
80.11.将Spring数据存储库公开为REST端点
80.12.配置由JPA使用的组件
80.13.用两个数据源配置jOOQ
81.数据库初始化
81.1.使用JPA初始化数据库
81.2.使用Hibernate初始化数据库
81.3.初始化数据库
81.4.初始化一个Spring批处理数据库
81.5.使用更高级别的数据库迁移工具
81.5.1.启动时执行Flyway数据库迁移
81.5.2.在启动时执行Liquibase数据库迁移
82.消息
82.1.禁用事务处理JMS会话
83.批量应用程序
83.1.在启动时执行Spring批处理作业
84.执行器
84.1.更改执行器端点的HTTP端口或地址
84.2.自定义'whitelabel'错误页面
84.3. Sanitize sensible values
85.安全
85.1.关闭Spring Boot安全配置
85.2.更改UserDetailsS​​ervice和添加用户帐户
85.3.在代理服务器后运行时启用HTTPS
86.热插拔
86.1.重新加载静态内容
86.2.重新加载模板而不重新启动容器
86.2.1.Thymeleaf模板
86.2.2.FreeMarker模板
86.2.3.Groovy模板
86.3.快速应用程序重启
86.4.重新加载Java类而不重新启动容器
87.建设
87.1.生成构建信息
87.2.生成Git信息
87.3.自定义依赖版本
87.4.用Maven创建一个可执行的JAR
87.5.使用Spring Boot应用程序作为依赖项
87.6.当可执行jar运行时提取特定的库
87.7.用排除项创建一个不可执行的JAR
87.8.远程调试Maven启动的Spring Boot应用程序
87.9.在不使用的情况下从Ant构建可执行文件spring-boot-antlib
88.传统部署
88.1.创建一个可部署的战争文件
88.2.将现有的应用程序转换为Spring Boot
88.3.将WAR部署到WebLogic
88.4.使用Jedis代替生菜
十,附录
A.通用应用程序属性
B. Configuration Metadata
B.1.元数据格式
B.1.1.组属性
B.1.2.属性属性
B.1.3.提示属性
B.1.4.重复的元数据项目
B.2. Providing Manual Hints
B.2.1.价值提示
B.2.2.价值提供者
任何
类参考
处理为
记录器名称
Spring Bean参考
Spring配置文件名称
B.3.使用注释处理器生成您自己的元数据
B.3.1.嵌套属性
B.3.2.添加额外的元数据
C.自动配置类
C.1.从“spring-boot-autoconfigure”模块
C.2.从“spring-boot-actuator-autoconfigure”模块
D.测试自动配置注释
E.可执行的Jar格式
E.1.嵌套JAR
E.1.1. The Executable Jar File Structure
E.1.2.可执行的战争文件结构
E.2.Spring Boot的“JarFile”类
E.2.1.与标准Java“JarFile”兼容
E.3.启动可执行的罐子
E.3.1.启动器清单
E.3.2.爆炸档案
E.4. PropertiesLauncher Features
E.5.可执行的瓶子限制
E.6.替代性单罐解决方案
F.依赖版本

转载于:https://my.oschina.net/liusonghuang/blog/1836575

你可能感兴趣的文章
有趣的atoi()函数
查看>>
PHP连接mysql
查看>>
Android MD5校验码的生成与算法实现
查看>>
<只看这个就够了。。。>Android自动化测试及性能优化
查看>>
PHP设置时区,记录日志文件的方法
查看>>
魔兽世界6.2.2德拉诺怎么飞行 wow飞行成就获得方法
查看>>
PHP在不同页面之间传值的三种常见方式
查看>>
解决手机小图标在手机显示模糊的问题
查看>>
xdebug所有相关方法函数详解(中文翻译版)
查看>>
CF696C PLEASE
查看>>
Hadoop入门学习笔记---part4
查看>>
英语4月测试题
查看>>
Servlet简介
查看>>
Win7_64下Eclipse配置Hadoop2.6.3
查看>>
C#winform调整控件的位置
查看>>
Codeforces Round #305 (Div. 1)
查看>>
HTTP协议的头信息详解
查看>>
ionic实现双击返回键退出功能
查看>>
优先队列
查看>>
msql 综合练习
查看>>