1. 程式人生 > >幾個註解說明(JPA註解,lombok外掛應用)

幾個註解說明(JPA註解,lombok外掛應用)

一、@DynamicUpdate 

作用:動態更新updateTime,但是若更新的內容跟資料庫中的一致,則會優化,不做更新

是hibernate的註解,需要引入hibernate的依賴

二、@Data 

作用:用此註解可以不用在程式碼中寫屬性的setter和getter方法,在打包的時候會自動生成

編譯後的class檔案,內容參考如下

需要引入lombok的依賴,且在idea上要安裝lombok plugin外掛

  • 引入依賴

<dependency>

<groupId>org.springframework.boot</groupId

>

<artifactId>spring-boot-starter-data-jpa</artifactId>

</dependency>

  • 安裝外掛lombok plugin

三、@Slf4j  日誌註解

作用:此註解的型別是SOURCE,即在原檔案中有效,編譯後會被丟棄。編譯後會幫我們生成靜態常量 log物件,如下圖所示

使用說明 :在idea環境中需要安裝上述lombok外掛,才能直接使用log物件,否則會找不到log

@Component
@ServerEndpoint("/webSocket")
@Slf4j
public class WebSocket {

    private Session session;

    private static CopyOnWriteArraySet<WebSocket> webSocketSet = new CopyOnWriteArraySet<>();

    @OnOpen
    public void onOpen(Session session) {
        this.session = session;
        webSocketSet.add(this);

        log.info("【websocket訊息】有新的連線, 總數:{}", webSocketSet.size());
    }

編譯後的效果

四、@DateTimeFormat  

作用:springmvc返回的物件中有日期型別的屬性時,要用DateTimeFormat 宣告日期型別的格式,否則會出現400的問題。因為springmvc無法幫我們將Date型別的物件自動解析為json字串的形式