解決springboot bean中大寫的字段返回變成小寫的問題
例如我的bean中有以下4個(gè)字段
private String code; private String _TOKENUUMS; private String TGC; private String U;
在返回的json里只會(huì)顯示
{“code”:“xx”,“tgc”:“xx”,“u”:“xx”}
大小會(huì)變成小寫,特殊符號(hào)開頭的字段都不會(huì)顯示,其原因是因?yàn)閟pringboot在進(jìn)行序列化和反序列時(shí)對(duì)字段進(jìn)行了處理。
解決方案是:
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會(huì)變成{“code”:“xx”,"_TOKENUUMS":“xx”,“TGC”:“xx”,“U”:“xx”},完美解決問題!
補(bǔ)充:Spring getBean 首字母大小寫問題
今天學(xué)習(xí)SPRING 的@Qualifier 注解
遇到如下問題:
spring默認(rèn)的組掃描的bean id 是類名的首字母小寫,如:class Bee ,那么 bean id 默認(rèn)為: bee,可是我的程序卻找不到這種格式的bean id
上網(wǎng)查原因,得到解釋:
原來我的類名 class CDPlayer ,我按照默認(rèn)的規(guī)則理解, bean id 應(yīng)該為 cDPlayer,可偏偏不是這樣,原來:
1、如果類第一個(gè)字母大寫第二個(gè)小寫,那么首字母小寫獲取bean
2、如果第一個(gè)和第二個(gè)字母都是大寫的,那個(gè)獲取bean首字母要大寫
這個(gè)原理不明白是為什么,但是的確是這樣,問題解決了。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
一分鐘掌握J(rèn)ava?ElasticJob分布式定時(shí)任務(wù)
ElasticJob?是面向互聯(lián)網(wǎng)生態(tài)和海量任務(wù)的分布式調(diào)度解決方案,本文主要通過簡單的示例帶大家深入了解ElasticJob分布式定時(shí)任務(wù)的相關(guān)知識(shí),需要的可以參考一下2023-05-05
Mybatis如何實(shí)現(xiàn)@Select等注解動(dòng)態(tài)組合SQL語句
這篇文章主要介紹了Mybatis如何實(shí)現(xiàn)@Select等注解動(dòng)態(tài)組合SQL語句,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
深入詳解Java中synchronized鎖升級(jí)的套路
synchronized鎖是啥?鎖其實(shí)就是一個(gè)對(duì)象,隨便哪一個(gè)都可以,Java中所有的對(duì)象都是鎖,換句話說,Java中所有對(duì)象都可以成為鎖。本文我們主要來聊聊synchronized鎖升級(jí)的套路,感興趣的可以收藏一下2023-04-04

