在使用Spring Boot开发应用的时候,你是否有发现这样的情况:自定义属性是有高量背景的,鼠标放上去,有一个Cannot resolve configuration property的配置警告。...我们不妨打开一个已经创建好的Spring Boot项目,查看一下它的Spring Boot依赖包,可以找到如下图的一个json文件: 这里报错的就是配置的元数据信息。...有没有发现这些name的值都很熟悉?其中description是不是也很熟悉?对,这些就是我们常用的Spring Boot原生配置的元数据信息。 这下知道配置元数据可以用来做啥了吧?...它可以帮助IDE来完成配置联想和配置提示的展示。 而我们自定义配置之所以会报警告,同时也没有提示信息,就是因为没有这个元数据的配置文件!...此时我们可以在工程target目录下找到元数据文件: 同时,我们在配置文件中尝试编写这个自定义的配置项时,可以看到编译器给出了联想和提示: 并且,编写完配置之后,也没有高亮警告了!
Spring Boot 提供了 Jackson 的自动配置,Jackson 是 spring-boot-starter-json 的一部分。...当 Gson 在 classpath 上时,会自动配置 Gson bean。提供了几个 spring.gson.* 配置属性来自定义配置。...Spring Boot 提供了 JSON-B 的自动配置。当 JSON-B API 在 classpath 上时,将自动配置 Jsonb bean。...()).isEqualTo("1.0.0"); } } Spring Boot 中的 json 配置 Jackson 配置 当 Spring Boot 的 json 库为 jackson 时,可以使用以下配置属性...GSON 配置 当 Spring Boot 的 json 库为 gson 时,可以使用以下配置属性(对应 GsonProperties 类): spring.gson.date-format= # Format
Spring Boot 默认对Json的处理 1.1 创建 User 实体类 1.2 创建Controller类 1.3 测试不同数据类型返回的json 1.4 jackson 中对null的处理 2....Spring Boot 默认对Json的处理 在实际项目中,常用的数据结构无非有类对象、List对象、Map对象,我们看一下默认的 jackson 框架对这三个常用的数据结构转成 json 后的格式如何...统一的 json 结构中属性包括数据、状态码、提示信息即可,构造方法可以根据实际业务需求做相应的添加即可,一般来说,应该有默认的返回结构,也应该有用户指定的返回结构。...在实际项目中,还可以继续封装,比如状态码和提示信息可以定义一个枚举类型,以后我们只需要维护这个枚举类型中的数据即可(在本课程中就不展开了)。...总结 本节主要对 Spring Boot 中 json 数据的返回做了详细的分析,从 Spring Boot 默认的 jackson 框架到阿里巴巴的 fastJson 框架,分别对它们的配置做了相应的讲解
Configuration Metadata(附录B.配置元数据)”,下面我们使用谷歌来翻译下相关原文: Spring Boot jars include metadata files that...Spring Boot jar 包含元数据文件,提供所有支持的配置属性的详细信息。...providers 属性中的 JSON 对象可以包含下表中描述的属性: 3.4 配置元数据 所以如果想有更好的用户体验,可以为我们自定义的 starter 配置元数据,下面就为 HelloWorld...配置元数据。...模块重新打包,接下来就是在 spring-boot-demo 项目中使用,如下图所示,就有了属性的提示:
helloworld 自动配置,在 application.properties 中配置 hello.msg 属性时,你会发现并没有提示你有关该配置的信息,但是如果你想配置 Tomcat 端口时,输入...Configuration Metadata(附录B.配置元数据)”,下面我们使用谷歌来翻译下相关原文: Spring Boot jars include metadata files that...Spring Boot jar 包含元数据文件,提供所有支持的配置属性的详细信息。...3.4 配置元数据 所以如果想有更好的用户体验,可以为我们自定义的 starter 配置元数据,下面就为 HelloWorld 配置元数据。...模块重新打包,接下来就是在 spring-boot-demo 项目中使用,如下图所示,就有了属性的提示: ?
1、前言 Springboot项目配置properties或yaml文件时候,会有很多spring相关的配置提示。这个是如何实现的?如果我们自己的配置属性,能否也自动提示?...2、Springboot配置自动提示 其实IDE是通过读取配置信息的元数据而实现自动提示的。Springboot的元数据就在目录META-INF下。...通过starter部分结构,我们可以看到如下: 其实,springboot自动提示元数据就在META-INF中的spring-configuration-metadata.json或additional-spring-configuration-metadata.json...3、创建元数据 那么,我们在resources下创建META-INF/additional-spring-configuration-metadata.json,并给与配置信息。...刷新以来后,尝试application.properties上配置我们自定义的属性。 可以看到,IDE已经自动帮我们提示了属性名称以及默认的值。嗯,爽了。 看下starter依赖结构:
导读:Spring Boot jar 包含元数据文件,提供所有支持的配置属性的详细信息。该文件旨在让IDE开发者提供上下文相关的帮助和“代码完成”。...一、背景 最近在调试reactive-steams源码的时候看到spring-boot源码包里面的 spring-configuration-metadata.json 和 additional-spring-configuration-metadata.json...查了官方的资料发现这里也是SpringBoot 提供的元数据配置拓展,但是这里的元数据不是只在Spring bean 管理的元数据类似。...▐ 官方案例 以我们常用的logging 配置为例 元数据配置 定义配置 二、应用实例 ▐ 插件工厂配置定义 配置元数据文件位于jar下面。...主要为了组件库为了让使用者更加优化使用提供的一套IDEA提示说明。借此我们在开放私有组件或者插件的时候在对于配置项可对外提供开放能力,可以根据元数据配置来完善IDEA提示说明。
4.4 自动配置 Spring Boot会尝试将starter自动配置到应用程序,比如引入了HSQLDB的starter,但是没有手动配置任何数据库连接bean,那么Spring Boot 会自动配置一个内存数据库...Spring Boot 还可以配置为公开一个以 JSON 文档形式提供此信息的startup端点。...5.2.2 JSON 应用程序属性 环境变量和系统属性通常有限制,这意味着某些属性名称不能使用。为了解决这个问题,Spring Boot 允许您将属性块编码为单个 JSON 结构。...导入附加数据 应用程序配置可以使用spring.config.import 属性从其他位置导入更多配置数据。...5.2.5 使用YAML文件 YAML是JSON的超集,是指定分层配置数据的便捷格式。
已废弃的参数定义,怎样友好的提示使用方 List/Map 格式的参数,怎么使用 自定义参数解析规则如何支持 如果上面这些都已经了然于心,那么本文的帮助将不会特别大;如果对此有所疑问,接下来将逐一进行解惑...POJO 类是支持的,使用姿势也没什么区别 此外,对于 List 和 Map 的使用也给出了实例 b.自定义配置解析 上面我们自定义的Pwd类,主要借助setter方法,将匹配的属性塞入进去;如果我的配置就是一个...IDEA 自动补全提示 平时在 Spring 开发过程中,在 yaml 文件中添加配置时,配合 idea 有非常友好的提示,可以非常友好的补全参数配置 [02.jpg] 那么我们自定义的参数想实现这个效果应该怎么做呢...Converter + @ConfigurationPropertiesBinding来自定义参数解析转换规则,可以实现各路姿势的参数解析 配置的自动提示支持也比较简单,添加org.springframework.boot...:spring-boot-configuration-processor依赖,打包之后在 META-INF 中会多一个 json 文件spring-configuration-metadata.json
已废弃的参数定义,怎样友好的提示使用方 List/Map 格式的参数,怎么使用 自定义参数解析规则如何支持 如果上面这些都已经了然于心,那么本文的帮助将不会特别大;如果对此有所疑问,接下来将逐一进行解惑...POJO 类是支持的,使用姿势也没什么区别 此外,对于 List 和 Map 的使用也给出了实例 b.自定义配置解析 上面我们自定义的Pwd类,主要借助setter方法,将匹配的属性塞入进去;如果我的配置就是一个...IDEA 自动补全提示 平时在 Spring 开发过程中,在 yaml 文件中添加配置时,配合 idea 有非常友好的提示,可以非常友好的补全参数配置 那么我们自定义的参数想实现这个效果应该怎么做呢?...配置的自动提示支持也比较简单,添加org.springframework.boot:spring-boot-configuration-processor依赖,打包之后在 META-INF 中会多一个...json 文件spring-configuration-metadata.json II.
isn't Markup Language:不是一个标记语言; 标记语言: 以前的配置文件;大多都使用的是 xxxx.xml文件; YAML:以数据为中心,比json、xml等更适合做配置文件...两种配置效果是一样的 2、YAML语法: 1、基本语法 k:(空格)v:表示一对键值对(空格必须有); 以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的 server: port...,特殊字符最终只是一个普通的字符串数据 name: ‘zhangsan \n lisi’:输出;zhangsan \n lisi 对象、Map(属性和值)(键值对): k: v:在下一行来写对象的属性和值的关系...--导入配置文件处理器,配置文件进行绑定就会有提示--> org.springframework.boot <artifactId...; /* 将配置文件中配置的每一个属性的值映射到这个组件中 ConfigurationProperties:告诉springboot将本类中的所有属性和配置文件中的相关配置进行绑定 prefix
一、背景 官方提供的spring boot starter的配置项,我们用IDE配置的时候一般都有自动提示的,如下图所示 而我们自己自定义的配置却没有,对开发非常不友好容易打错配置,那这个是怎样实现的呢...二、提示原理 IDE是通过读取配置信息的元数据而实现自动提示的,而元数据在目录META-INF中的spring-configuration-metadata.json 或者 additional-spring-configuration-metadata.json...三、实现自动提示 以我这个自己开发的starter中的自定义配置文件为例,如果自己手动创建这些元数据的话工作量比较大,使用IDEA的话有自动生成功能 3.1....引入依赖spring-boot-configuration-processor 在zlt-swagger2-spring-boot-starter工程中添加以下jar包 ...重新编译项目 项目在重新编译后就会自动生成spring-configuration-metadata.json文件 四、测试 自定义的swagger配置已经能自动提示了 参考资料 https:/
大多数Spring Boot应用程序需要最少的Spring配置。...配置文件名是固定的 application.properties application.yml YAML(YAML Ain't Markup Language) 标记语言,以数据为中心,比 json...--导入配置文件处理器,配置文件进行绑定就会有提示--> org.springframework.boot spring-boot-configuration-processor...浏览器发送请求的请求头: ? 如果是其他客户端,默认响应一个json数据(PostMan) ? ?...默认的错误提示页面 定制错误的json数据: 自定义异常处理 和 返回定制json数据 @ControllerAdvice public class MyExceptionHandler { @
《Spring Boot Actuator详解与深入应用》预计包括三篇,第一篇重点讲Spring Boot Actuator 1.x的应用与定制端点;第二篇将会对比Spring Boot Actuator...创建自定义健康端点的抽象保持不变。与Spring Boot 1.x不同,endpoints. .sensitive属性已被删除。...不仅包括不同的值,还包括一些相关的元数据。 /info端点 /info端点没有什么变化,我们可以通过maven或者gradle引入依赖,增加git的详细信息。...5 methods=[GET], 6 produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}"...之前方法上的元数据信息(sensitive, enabled)都不在使用了,开启或禁用端点,使用@Endpoint(id = “features”, enableByDefault = false)。
(7)自动配置的JSON测试 (8)自动配置的Spring MVC测试 (9)自动配置的Spring WebFlux测试 (10)自动配置的数据JPA测试 (11)自动配置的JDBC测试 (12)自动配置的...Logback进行日志记录 (1)为纯文件输出配置Logback 5.3、配置Log4j进行日志记录 (1)使用YAML或JSON配置Log4j 2 6、数据访问 6.1、配置一个自定义数据源 6.2、...配置两个数据源 6.3、使用Spring数据存储库 6.4、Spring配置分离@实体定义 6.5、配置JPA属性 6.7、使用自定义EntityManagerFactory 6.10、使用Spring...1、通用应用程序属性 2、配置元数据 2.1、元数据格式 (1)组属性 (2)属性属性 (3)提示属性 (4)重复的元数据项目 2.2、提供手册提示 (1)价值提示 (2)价值提供者 任何 类参考...处理为 记录器名称 Spring Bean参考 Spring配置文件名称 2.3、使用注释处理器生成您自己的元数据 (1)嵌套属性 (2)添加额外的元数据 3、自动配置类
** 二、配置 本文假设你已经引入spring-boot-starter-web。...都开放出来了,这是一种很危险的配置,但是,开放出来的理由有 如果是内网环境,可以开放出来,但不要开放到外网环境; 如果使用了Spring Security,可以根据用户权限配置,需要将所有endpoints...三、Actuator的使用 3.1 Actuator开放的端点 Actuator只需要加载依赖和配置即可使用,启动时候会提示你Actuator暴漏了哪些接口,如: ...WebMvcEndpointHandlerMapping...在这里插入图片描述 3.2 Actuator路径 Actuator开放的端口都可以直接访问的,根据提示的get/post请求即可: get请求返回的都是json,有的可以带路径筛选; post请求是json...@WriteOperation 来注解修改接口,注意请求数据必须是json,而且参数不像controller中那么灵活,不能将实体作为参数,要把实体中相应的属性拿出来做参数。
配置绑定映射类 有关本章开放节点的配置都被映射到属性配置类org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties...元数据配置文件 spring-configuration-metadata.json(元数据配置文件)位于spring-boot-actuator-autoconfigure-2.0.6.jar依赖的META-INF...通过配置的defaultValue来自动映射到WebEndpointProperties属性配置类的Exposure#include字段,下面简单介绍上面的字段: sourceType:该配置字段所关联配置类的类型...:字段的名称,对应配置类内的field名称 description:该配置字段的描述信息,可以是中文,填写后idea工具会自动识别并提示 type:该字段的类型的全限定名,如:java.lang.String...元数据文件内,配置的showDetails的默认值为never,也就是不显示详细信息,配置如下所示: ..... { "sourceType": "org.springframework.boot.actuate.autoconfigure.health.HealthEndpointProperties
"^.*$" }, ... spring.factories的作用是让Spring Boot知道要加载这个Starter的哪些配置类,而这个文件又有啥用呢?...其实,之前我在Spring Boot教程(https://blog.didispace.com/spring-boot-learning-2x/)中有具体讲过,这个内容是配置元数据。...它的主要作用就是,当我们在配置文件中尝试编写配置信息的时候,IDE可以根据这个配置元数据给出了相关的提示信息,比如: 图 3 所以,要做一个体验良好的Starter,这个文件还是非常重要的,对于使用你封装的开发者来说...既然spring.factories可以自动生成,那么spring-configuration-metadata.json文件可以自动生成吗? 答案是肯定的,不然维护这个json文件都会累死人!...不过,这里还有个前提,你在写配置属性类的时候,有好好写注释,那么自动提示就都会带上了,比如下面这样: @Data @ConfigurationProperties("swagger") public class
一、Spring Boot 默认错误处理机制 创建工程 使用IDEA创建一个工程spring-boot-exception,只需要添加基本的依赖即可 Spring Boot 默认错误处理 在Web端请求...Spring Boot服务出现错误时,Spring Boot默认会返回一个空白的错误页面 在其他客户端请求发生错误时会返回JSON格式的错误数据 这些都是在Spring Boot的自动配置类ErrorMvcAutoConfiguration...页面 并且@RequestMapping注解中制定了produces属性的值为”text/html“ 而在其他端Accept字段则为”*/*“,因此接收的是JSON格式的返回 二、Spring...默认的错误页面error 默认的错误页面具体内容 三、Spring Boot 自定义JSON格式错误返回 自定义一个异常UserNotExistException public class UserNotExistException...user=stark 浏览器返回自定义的JSON格式数据,使用PostMan发送请求 PostMan也返回自定义的JSON格式数据。
领取专属 10元无门槛券
手把手带您无忧上云