此註解是類註解,做用是json序列化時將java bean中的一些屬性忽略掉,序列化和反序列化都受影響。前端
此註解用於屬性或者方法上(最好是屬性上),做用和上面的@JsonIgnoreProperties同樣。java
此註解用於屬性或者方法上(最好是屬性上),能夠方便的把Date類型直接轉化爲咱們想要的模式,好比@JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss")apache
此註解用於屬性或者getter方法上,用於在序列化時嵌入咱們自定義的代碼,好比序列化一個double時在其後面限制兩位小數點。json
-----------------------------------------------------------------------------------------------------------------------------------------------------ide
@JsonIgnore 註解的定義ui
做用是json序列化時將java bean中的一些屬性忽略掉,序列化和反序列化都受影響。this
以下一個實體父類spa
import java.util.Date; import org.apache.commons.lang3.StringUtils; import org.hibernate.validator.constraints.Length; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import com.thinkgem.jeesite.common.utils.IdGen; import com.thinkgem.jeesite.modules.sys.entity.User; import com.thinkgem.jeesite.modules.sys.utils.UserUtils; /** * 數據Entity類 * @author 盻神~ * @version 2016-08-16 */ public abstract class DataEntity<T> extends BaseEntity<T> { private static final long serialVersionUID = 1L; protected String remarks; // 備註 protected User createBy; // 建立者 protected Date createDate; // 建立日期 protected User updateBy; // 更新者 protected Date updateDate; // 更新日期 protected String delFlag; // 刪除標記(0:正常;1:刪除;2:審覈) protected String codeNum; //編號 protected int codeFlag; //編號標記 public DataEntity() { super(); this.delFlag = DEL_FLAG_NORMAL; } public DataEntity(String id) { super(id); } /** * 插入以前執行方法,須要手動調用 */ @Override public void preInsert(){ // 不限制ID爲UUID,調用setIsNewRecord()使用自定義ID if (!this.isNewRecord){ setId(IdGen.uuid()); } User user = UserUtils.getUser(); if (StringUtils.isNotBlank(user.getId())){ this.updateBy = user; this.createBy = user; } this.updateDate = new Date(); this.createDate = this.updateDate; } /** * 更新以前執行方法,須要手動調用 */ @Override public void preUpdate(){ User user = UserUtils.getUser(); if (StringUtils.isNotBlank(user.getId())){ this.updateBy = user; } this.updateDate = new Date(); } @Length(min=0, max=255) public String getRemarks() { return remarks; } public void setRemarks(String remarks) { this.remarks = remarks; } @JsonIgnore public User getCreateBy() { return createBy; } public void setCreateBy(User createBy) { this.createBy = createBy; } @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") public Date getCreateDate() { return createDate; } public void setCreateDate(Date createDate) { this.createDate = createDate; } @JsonIgnore public User getUpdateBy() { return updateBy; } public void setUpdateBy(User updateBy) { this.updateBy = updateBy; } @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") public Date getUpdateDate() { return updateDate; } public void setUpdateDate(Date updateDate) { this.updateDate = updateDate; } @JsonIgnore @Length(min=1, max=1) public String getDelFlag() { return delFlag; } public void setDelFlag(String delFlag) { this.delFlag = delFlag; } @JsonIgnore public String getCodeNum() { return codeNum; } public void setCodeNum(String codeNum) { this.codeNum = codeNum; } @JsonIgnore public int getCodeFlag() { return codeFlag; } public void setCodeFlag(int codeFlag) { this.codeFlag = codeFlag; } }
當加上@JsonIgnore 註解以後, 若是此實體類須要被調用發送到前端、那麼這些被加了註解的字段在序列化和反序列化的時候都會受影響。因此將會被忽略、也就是再也不響應到前臺。hibernate