解决springboot bean中大写的字段返回变成小写的问题
例如我的bean中有以下4个字段
private String code; private String _TOKENUUMS; private String TGC; private String U;
在返回的json里只会显示
{“code”:“xx”,“tgc”:“xx”,“u”:“xx”}
大小会变成小写,特殊符号开头的字段都不会显示,其原因是因为springboot在进行序列化和反序列时对字段进行了处理。
解决方案是:
import com.fasterxml.jackson.annotation.JsonProperty;
在get方法上加上该注解@JsonProperty
private String code; private String _TOKENUUMS; private String TGC; private String U; public String getCode() { return code; } public void setCode(String code) { this.code = code; } @JsonProperty("_TOKENUUMS") public String get_TOKENUUMS() { return _TOKENUUMS; } public void set_TOKENUUMS(String _TOKENUUMS) { this._TOKENUUMS = _TOKENUUMS; } @JsonProperty("TGC") public String getTGC() { return TGC; } public void setTGC(String TGC) { this.TGC = TGC; } @JsonProperty("U") public String getU() { return U; } public void setU(String u) { U = u; }
返回json会变成{“code”:“xx”,"_TOKENUUMS":“xx”,“TGC”:“xx”,“U”:“xx”},完美解决问题!
补充:Spring getBean 首字母大小写问题
今天学习SPRING 的@Qualifier 注解
遇到如下问题:
spring默认的组扫描的bean id 是类名的首字母小写,如:class Bee ,那么 bean id 默认为: bee,可是我的程序却找不到这种格式的bean id
上网查原因,得到解释:
原来我的类名 class CDPlayer ,我按照默认的规则理解, bean id 应该为 cDPlayer,可偏偏不是这样,原来:
1、如果类第一个字母大写第二个小写,那么首字母小写获取bean
2、如果第一个和第二个字母都是大写的,那个获取bean首字母要大写
这个原理不明白是为什么,但是的确是这样,问题解决了。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。
相关推荐
-
springboot bean扫描路径的实现
1:默认扫描启动类所在路径下所有的bean 2:可以在启动类中添加注解,手动指定扫描路径: @ComponentScan(basePackages = {"com.xxx.service1.*","com.xxx.service2.**"}) 补充:SpringBoot 是如何通过 @SpringBootApplication 扫描项目中的 Bean 原因 首先因为 XXXXXXXApplication 附带 @SpringBootApplication 注解,而
-
在springboot中实现个别bean懒加载的操作
懒加载---就是我们在spring容器启动的是先不把所有的bean都加载到spring的容器中去,而是在当需要用的时候,才把这个对象实例化到容器中. @Lazy 在需要懒加载的bean上加上@Lazy就可以了 补充知识:springboot组件懒加载的坑及加载规则 什么是懒加载? 懒加载的意思是不在项目启动的时候实例出来这个组件 @RestController public class ApiController { @Autowired Skill kobSkillImpl; @Request
-
springboot2.x解决运行顺序及Bean对象注入顺序的问题
1 前言 通过指定接口,重写指定方法,可以在Bean对应的生命周期方法中执行相应的程序 2 测试 本文将分析几个Bean对象,为它们设置优先级(通过@Order),然后再打断点调试,测试各种生命周期方法的运行的顺序 在项目当中最让人头疼的就是bean对象不被注入的问题,通过本文,你可以很好的解决这个问题. 先看看本程序使用的依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="
-
springboot 实现bean手动注入操作
1.springboot启动类实现接口ApplicationListener<ContextRefreshedEvent>,实现方法onApplicationEvent,初始化上下文 package test.projectTest; import org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration; import org.springframework.boot.SpringApplication; import or
-
Springboot实现多线程注入bean的工具类操作
场景: 使用springboot多线程,线程类无法自动注入需要的bean 解决方法: 通过工具类获取需要的bean 工具类代码: import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springfram
-
SpringBoot普通类获取spring容器中bean的操作
前言 在spring框架中,是无法在普通类中通过注解注入实例的,因为sping框架在启动的时候,就会将标明交给spring容器管理的类进行实例化,并梳理他们彼此的依赖关系,进行注入,没有交给spring容器管理的普通类,是不会进行注入的,即使你使用了注入的相关注解.这个时候,如果我们需要在普通类中获取spring容器中的实例,就需要一些特定的方法,这里将整理一下如何在springboot中实现这样的方法. 创建springboot工程demo 项目结构图示 项目结构说明 service包下为de
-
解决springboot bean中大写的字段返回变成小写的问题
例如我的bean中有以下4个字段 private String code; private String _TOKENUUMS; private String TGC; private String U; 在返回的json里只会显示 {"code":"xx","tgc":"xx","u":"xx"} 大小会变成小写,特殊符号开头的字段都不会显示,其原因是因为springboot在进行序列
-
mybatis中实现让返回值与bean中字段相匹配
1. 编写目的 这个介绍的与那些修改mybatis.xml文件的方法不一样,目的也不一样. 当我们需要查询的数据跟entity的bean完全不匹配的时候(比如说需要统计的时候),我们不可能写多个dao层的查询接口,然后一个一个map到xml中去. 我们可以专门写一个类,根据自己的需要把统计的属性都写到里面去,然后一次性查询,就可以获得所有需要统计的数据. 2. 重要方法 专门编写一个实体类.实体类中包含的都是自己需要统计的属性. 编写dao层的接口方法的返回值就是这个实体类. 在映射的map.x
-
MySql中的longtext字段的返回问题及解决
目录 MySql中longtext字段的返回 如下图所示 解决方法 Mysql中Text字段的范围 汉字在utf8mb4中占用几个字符 MySql中longtext字段的返回 最近开发中用到了longtext这种字段.在mysql中该字段的最大长度为4G 如下图所示 开发中遇到的一个问题就是.例如有个article表,然后我们的页面要将数据以列表的形式展示到前端(只显示几个字段,如作者,标题等等,例如放到table中显示多条记录),但是是将该表中的所有信息都查出来,然后当用户点击某条记录的时候,
-
SpringBoot项目中遇到的BUG问题及解决方法
1.启动项目的时候报错 1.Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled. 解决方法: 在yml配置文件中加入debug: true,因为默认的话是false 2.在集成mybatis时mapper包中的类没被扫描 org.springframework.beans.factory.NoSuchBean
-
SpringBoot项目中处理返回json的null值(springboot项目为例)
在后端数据接口项目开发中,经常遇到返回的数据中有null值,导致前端需要进行判断处理,否则容易出现undefined的情况,如何便捷的将null值转换为空字符串? 以SpringBoot项目为例,SSM同理. 1.新建配置类(JsonConfig.java) import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonProcessingException; import com.f
-
解决SpringBoot中使用@Async注解失效的问题
错误示例,同一个类中使用异步方法: package com.xqnode.learning.controller; import com.fasterxml.jackson.core.JsonProcessingException; import org.springframework.scheduling.annotation.Async; import org.springframework.web.bind.annotation.GetMapping; import org.springf
-
关于springboot 配置date字段返回时间戳的问题
遇到一个问题,springboot升级成2.0后,从数据库查出来的日期,用Date接收,最后直接返回给前端,在谷歌浏览器中能正常显示成yyyy-MM-dd HH:mm:ss格式.但是在IE浏览器中日期显示的是"乱码",因为springboot1.x版本的默认将Date字段返回的是时间戳 ,而谷歌.IE都会自动将时间戳转换成yyyy-MM-dd HH:mm:ss:在springboot2.0后,spring会将Date字段自动给转成UTC字符串了(在没有配置的情况下),所以date需要转
-
springboot如何读取自定义properties并注入到bean中
目录 读取自定义properties注入到bean springboot启动日志如下 springboot bean实例化和属性注入过程 springboot版本(2.0.4 RELEASE) Bean的实例化 Bean的属性注入 读取自定义properties注入到bean 在使用springboot项目时,可使用@value的方式直接读取application.properties中的文件,但有时我们需要配置自定义的properties,下面方法将在springboot启动时利用filein
-
PHP中Laravel 关联查询返回错误id的解决方法
在 Laravel Eloquent 中使用 join 关联查询,如果两张表有名称相同的字段,如 id,那么它的值会默认被后来的同名字段重写,返回不是期望的结果.例如以下关联查询: PHP $priority = Priority::rightJoin('touch', 'priorities.touch_id', '=', 'touch.id') ->where('priorities.type', 1) ->orderBy('priorities.total_score', 'desc')
-
php读取mssql的ntext字段返回值为空的解决方法
本文实例讲述了php读取mssql的ntext字段返回值为空的解决方法.分享给大家供大家参考.具体分析如下: 今天在使用php连接mssql数据库时发现ntext字段的内容无法显示,经过查询发现ntext字段在php中不被支持,解决办法我们只要把ntext字段改成text即可解决了. 如果是表里面没有ntext字段,可以用以下代码: 复制代码 代码如下: <?php // Connect to MSSQL $link = mssql_connect('KALLESPCSQLEXPRESS',
随机推荐
- 使用JS实现图片展示瀑布流效果(简单实例)
- fckeditor 修改记录添加行距功能插件
- php正则表达式取得内容所有链接的方法
- 用rewrite实现IIS下图片文件防盗链的办法
- iOS获取当前设备型号等信息(全)包含iPhone7和iPhone7P
- JavaScript解析URL参数示例代码
- C 语言基础教程(我的C之旅开始了)[九]
- Javascript实时柱状图实现代码
- 选择指定数量后checkbox不可选(变灰)javascript代码
- JS实现隐藏同级元素后只显示JS文件内容的方法
- Linux的路由表详细介绍
- 深入理解JavaScript编程中的原型概念
- easyui 中的datagrid跨页勾选问题的实现方法
- jquery实现文本框数量加减功能的例子分享
- 制作传奇私服技术系列之一架设技术
- 详解Java中ByteArray字节数组的输入输出流的用法
- Android 定位系统(GPS)开发详解
- thinkphp5.0自定义验证规则使用方法
- JQuery的加载和选择器用法简单示例
- Python2.7版os.path.isdir中文路径返回false的解决方法