首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在spring boot 2.0中添加到application.yml文件时,spring.jackson.default-property-inclusion=NON_NULL不工作

在Spring Boot 2.0中,添加到application.yml文件的配置项spring.jackson.default-property-inclusion=NON_NULL用于设置Jackson序列化时的默认属性包含规则,即只包含非空属性。然而,如果这个配置项不起作用,可能有以下几个原因:

  1. 版本兼容性:请确保你使用的是Spring Boot 2.0或更高版本。如果你使用的是旧版本的Spring Boot,该配置项可能不被支持。
  2. 配置位置:请确保将该配置项正确地添加到application.yml文件中,并且位于正确的位置。在application.yml文件中,配置项应该位于以"spring"为前缀的部分,例如:
代码语言:txt
复制
spring:
  jackson:
    default-property-inclusion: NON_NULL
  1. Jackson依赖:请确保你的项目中包含了Jackson的相关依赖。在Spring Boot中,默认情况下会自动引入Jackson依赖,但如果你手动管理依赖,可能需要手动添加以下依赖:
代码语言:txt
复制
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
</dependency>
  1. 自定义配置:如果你在代码中显式地配置了Jackson的ObjectMapper,可能会覆盖application.yml中的配置。请检查代码中是否存在类似以下的配置:
代码语言:txt
复制
@Configuration
public class JacksonConfig {
    @Bean
    public ObjectMapper objectMapper() {
        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.setDefaultPropertyInclusion(JsonInclude.Include.NON_NULL);
        return objectMapper;
    }
}

如果存在这样的配置,可以考虑删除或修改它,以便让application.yml中的配置生效。

总结起来,要使配置项spring.jackson.default-property-inclusion=NON_NULL生效,需要确保使用的是Spring Boot 2.0或更高版本,将配置项正确地添加到application.yml文件中,并且没有被其他自定义配置覆盖。如果问题仍然存在,可能需要进一步检查项目的依赖和代码配置。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

springboot第30集:springboot集合问题

image.png 如果你希望Spring Boot中,当数据库中没有对应值,仍然返回字段但其值为空,你可以使用Jackson库的另一个配置选项。...Spring Boot的配置文件中添加以下配置: spring.jackson.default-property-inclusion=non_empty 或者,application.yml配置文件中使用以下配置...: spring:   jackson:     default-property-inclusion: non_empty 这将告诉Jackson序列化对象,忽略值为null或空的属性,并只返回非空属性...如果你只想排除null值而保留空字符串,请使用non_null选项。 使用上述配置后,当属性的值为null,它将被序列化为一个空字符串。如果属性的值为空字符串或空集合,则不会返回该属性。...Spring Boot中,默认的配置选项是default-property-inclusion=null,即所有属性都被包含在序列化的结果中,包括null和空值。

32120

Spring Boot中的application.yml怎么用

Spring Boot中的application.yml怎么用 yml之前使用最多的配置文件形式是xml和properties文件。...以下是Spring Boot中常用的配置项: server 注意:配置的值和键之间务必要隔开一个空格。...server: port: 8080 # 服务绑定的端口,写默认是8080 servlet: context-path: /demo # 服务的路径,写默认为空 那么server节点下到底还有什么配置呢...使用---区分 --- #正式环境 spring: profiles: product 直接在当前yml中加---这样当你的启动参数中指定了profiles是product的时候,Spring Boot...[D3EA99L77%5F26[0R`Z]WI.png 文件名后面直接加运行的环境变量,Spring Boot会优先读取这个分区下面的配置,然后再取默认的配置,也就是application.yml中的配置

3.8K20

如何保护 SpringBoot 配置文件中的敏感信息

将加密后的字符串替换原明文 附言 部署配置salt(盐)值 ---- 说明 使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些。...GitHub Demo地址 https://github.com/jeikerxiao/spring-boot2/tree/master/spring-boot-encrypt 推荐下自己做的 Spring...将加密后的字符串替换原明文 application.yml server:   port: 8080 spring:   # 数据库相关配置   datasource:     driver-class-name...附言 部署配置salt(盐)值 为了防止salt(盐)泄露,反解出密码.可以项目部署的时候使用命令传入salt(盐)值: java -jar xxx.jar  -Djasypt.encryptor.password...打开/etc/profile文件 vim /etc/profile profile文件末尾插入salt(盐)变量 export JASYPT_PASSWORD = Y6M9fAJQdU7jNp5MW

56720

(最新 9000 字 )Spring Boot 配置特性解析

针对Spring Boot 新版本的配置文件也做了一次梳理,确实发现了以前没有注意到的点。...** Spring Boot会以下面的顺序来加载配置,优先级从高到低(相同配置优先级高的会覆盖低的),从外到里的来进行配置覆盖加载: 1)开发者全局配置的properties文件(当开发者工具激活文件...app.jar --name="Spring" 来覆盖上一个配置 (当前name获取的话是 SpringSpring Boot 配置文件也支持通配符的方式来加载,比如使用 spring.config.additional-location...SpringApplication 会从application.yml里面加载属性配置,并将他们添加到Spring 的Environment中供我们使用。...、YAML文件进行多环境配置 **1) 配置文件使用** application.yml中,你可以使用spring.profiles 来激活你想加载的环境配置内容。

56520

深入Spring Boot (二):Spring Boot对构建系统的支持

Maven 每次Spring Boot新版本发布都会提供一个它所支持的Spring模块及第三方库版本列表,例如Spring Boot1.5.10版本支持的库列表可以https://github.com...查看spring-boot-dependencies项目的pom.xml文件,可以看到文件中配置了很多依赖库的版本定义,也就是说新建项目的pom.xml中添加这些依赖可以省略版本号配置,例如添加activemq-client...继续查看spring-boot-starter-parent项目的pom.xml文件,可以看到它配置了构建对application.properties和application.yml的筛选。 ?...同样spring-boot-starter-parent项目的pom.xml文件也配置了可用插件。...项目方式,或者公司有自己的标准parent,所以也可以选择继承spring-boot-starter-parent项目,但是你又想继续使用依赖管理的特性,可以将如下配置添加到新建项目的pom.xml中

983100

深入Spring Boot (四):YAML属性配置文件使用详解

Spring Boot弱化配置的特性让属性配置文件的使用也更加便捷,它默认支持对application.properties或application.yml属性配置文件处理,即在application.properties...要想使用YAML作为属性配置文件,需要将SnakeYAML库添加到classpath下,Spring Boot对SnakeYAML库也做了集成,例如使用spring-boot-starter-web或spring-boot-starter...@SpringBootConfiguration注解用于标注Spring应用引导类,应用启动的时候这个引导类会被执行;@EnableAutoConfiguration注解《深入Spring Boot...和application-mq.yml配置如下: spring: profiles: include: db,mq 6.配置文件优先级 以上对application.yml文件的使用都是基于...Spring Boot支持从以下位置加载application.yml文件: 当前目录下的/config子目录; 当前目录; classpath下的/config包; classpath根路径。

3K60

使用Spring Cloud Netflix的Kotlin微服务:第1部分

这意味着我们必须将任务分解为可以不同位置的多个服务器上运行的单独服务。必须考虑冗余计划云原生应用程序,以便应用程序能够承受设备故障,并能够硬件发生故障自动重新映射IP地址。...正如我们所说,我们将仅使用本机文件系统来激活本机配置文件,因此我们类路径中使用/ config位置。...application.yml文件中,我们可以声明服务器端口和应用程序名称。...将客户端名称设置为application.yml,以便更新的配置服务器application.yml文件将是: server: port: 8888 spring: application...原文标题《Kotlin Microservices With Spring Cloud Netflix: Part 1》 作者:Efthymios Vafeiadis 译者:February 代表云加社区观点

1.4K40

SpringBoot 之基础学习篇.

spring-boot-devtools 默认检测 classpath 路径下的文件,只要目录下的文件有变动,它就会自动重启。     自动重启跟 LiveReload 可以一起很好的工作。     ...: # 内嵌的 LiveReload 服务器,可以资源改变,触发浏览器更新,禁用设置为false enabled: true     3、spring-boot-devtools...和 LiveReload 搭配使用     LiveReload 是一个 spring-boot-devtools 模块中的内嵌服务器,它可以资源改变触发浏览器更新,LiveReload 浏览器扩展的谷歌插件下载地址...WebApplicationType.SERVLET); // 设置打印 Banner 的方式 app.setBannerMode(Banner.Mode.LOG); // 是否将启动的命令行属性添加到...2、yml 文件     我们先从 SpringBoot 的默认配置文件 application.yml 文件聊起,application.yml文件内容,是可以通过 @Value 的方式读取到的,

1.4K30

springboot入门之路(三)_Spring Boot特性

通常,你不需要改变日志依赖,Spring Boot 默认的就能很好的工作。...使用Spring Boot喜欢application.properties或application.yml配置,这样只能配置简单的场景,保存路径、日志格式等,复杂的场景(区分 info 和 error...如果只配置 logging.path, /var/log文件夹生成一个日志文件spring.log #默认会在设置的 path 生成一个spring.log 文件。...系统属性和平常的 Spring Boot外部配置文件能正常工作)。...如果定义,默认的日志配置中使用 PID PID 当前的处理进程(process)ID(如果能够被发现且还没有作为操作系统环境 变量被定义) 所有支持的日志系统解析它们的配置文件都能查询系统属性

82520

MyBatis基础2(XML)

月 2021 作者 847954981@qq.com 后端学习, 我的编程之路 MyBatis基础2(XML) XML模式开发顺序: 创建DO对象 创建DAO对象,配置@Mapper注解 创建XML文件...,并完成resultMap配置 创建对应的XML语句 MyBatis中使用XML首先需要在 application.properties 文件中添加配置。...close 表示节点结束的分隔符即所有数据之后的符号 上面代码结果为: INSERT INTO user (user_name, pwd, nick_name,avatar,gmt_created,...配置优化 当数据JSON输出,会存在null数据,我们需要忽略它来节约流量,通过修改配置文件 application.properties 来完成 spring.jackson.deserialization.fail-on-unknown-properties...=false spring.jackson.default-property-inclusion=non_null 两个配置的作用是: 允许序列化未知字段,可以兼容Java模型和JSON数据不一致的情况

54720

这周没写代码,竟然在做这件事!

再说了,密码写到配置文件里,写到哪里呢? 于是他找到了我,我解释到:我们自己做项目的时候,为了方便 直接把密码写在 application.yml 等配置文件中,是没有任何问题的。...大致流程如下: 小阿巴:原来如此,但是 Spring Boot 项目不是只有启动才会读取 application.yml 来初始化客户端连接 Bean 么?...鱼皮:不错,那既然 Spring Boot 会自动读取 application.yml 文件,咱们就不把这个文件提交到代码仓库中(.gitignore 忽略),而是在后续阶段把配置文件 “扔进去”,不就可以了么...Spring Boot 其实不仅能读取 resources 目录下的 application.yml 配置文件,还能在打完 jar 包后,找到和 jar 包同目录的配置文件,基于它来运行!...下面是 Spring Boot 加载配置文件的优先级(先读取上面的): jar 包目录配置文件:config/application.ymlapplication.yml 项目类路径目录的配置文件

38320
领券