<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-126  評論-247  文章-5  trackbacks-0

    前言:
        逛開源社區的時候無意發現的,用了一段時間,覺得還可以,特此推薦一下。
        lombok 提供了簡單的注解的形式來幫助我們簡化消除一些必須有但顯得很臃腫的 java 代碼。特別是相對于 POJO,光說不做不是我的風格,先來看看吧。

    lombok 的官方網址:http://projectlombok.org/  

    lombok 其實到這里我就介紹完了,開個玩笑,其實官網上有 lombok 三分四十九秒的視頻講解,里面講的也很清楚了,而且還有文檔可以參考。
    在這里我就不扯太多,先來看一下 lombok 的安裝,其實這個官網視頻上也有講到啦

    lombok 安裝
        使用 lombok 是需要安裝的,如果不安裝,IDE 則無法解析 lombok 注解。先在官網下載最新版本的 JAR 包,現在是 0.11.2 版本,我用的是 0.11.0
        第一次使用的時候我下載的是最新版本的,也就是我現在用的 0.11.0,到現在已經更新了兩個版本,更新的好快啊 ... ...

    1. 雙擊下載下來的 JAR 包安裝 lombok
        我選擇這種方式安裝的時候提示沒有發現任何 IDE,所以我沒安裝成功,我是手動安裝的。如果你想以這種方式安裝,請參考官網的視頻。

    2.eclipse / myeclipse 手動安裝 lombok
        1. 將 lombok.jar 復制到 myeclipse.ini / eclipse.ini 所在的文件夾目錄下
        2. 打開 eclipse.ini / myeclipse.ini,在最后面插入以下兩行并保存:
            -Xbootclasspath/a:lombok.jar
            -javaagent:lombok.jar
        3.重啟 eclipse / myeclipse

    lombok 注解:
        lombok 提供的注解不多,可以參考官方視頻的講解和官方文檔。
        Lombok 注解在線幫助文檔:http://projectlombok.org/features/index.
        下面介紹幾個我常用的 lombok 注解:
            
    @Data   :注解在類上;提供類所有屬性的 getting 和 setting 方法,此外還提供了equals、canEqual、hashCode、toString 方法
            
    @Setter:注解在屬性上;為屬性提供 setting 方法
            
    @Getter:注解在屬性上;為屬性提供 getting 方法
            
    @Log4j :注解在類上;為類提供一個 屬性名為log 的 log4j 日志對象
            
    @NoArgsConstructor:注解在類上;為類提供一個無參的構造方法
            
    @AllArgsConstructor:注解在類上;為類提供一個全參的構造方法

    下面是簡單示例
        1.不使用 lombok 的方案
     1
     2public class Person {
     3
     4    private String id;
     5    private String name;
     6    private String identity;
     7    private Logger log = Logger.getLogger(Person.class);
     8    
     9    public Person() {
    10        
    11    }

    12    
    13    public Person(String id, String name, String identity) {
    14        this.id              = id;
    15        this.name       = name;
    16        this.identity  = identity;
    17    }

    18    
    19    public String getId() {
    20        return id;
    21    }

    22    
    23    public String getName() {
    24        return name;
    25    }

    26    
    27    public String getIdentity() {
    28        return identity;
    29    }

    30    
    31    public void setId(String id) {
    32        this.id = id;
    33    }

    34    
    35    public void setName(String name) {
    36        this.name = name;
    37    }

    38    
    39    public void setIdentity(String identity) {
    40        this.identity = identity;
    41    }

    42}

    43

        2.使用 lombok 的方案
     1
     2@Data
     3@Log4j
     4@NoArgsConstructor
     5@AllArgsConstructor
     6public class Person {
     7
     8    private String id;
     9    private String name;
    10  private String identity;
    11    
    12}

    13

    上面的兩個 java 類,從作用上來看,它們的效果是一樣的,相比較之下,很明顯,使用 lombok 要簡潔許多,特別是在類的屬性較多的情況下,
    同時也避免了修改字段名字時候忘記修改方法名所犯的低級錯誤。
    最后需要注意的是,在使用 lombok 注解的時候記得要導入 lombok.jar 包到工程







      
    posted on 2012-07-12 21:53 fancydeepin 閱讀(154841) 評論(8)  編輯  收藏

    評論:
    # re: Lombok 安裝、入門 - 消除冗長的 java 代碼 2013-12-28 13:19 | rrt
    # re: Lombok 安裝、入門 - 消除冗長的 java 代碼 2014-09-28 16:29 | 第三方的手
    請問:修改屬性的名字的時候,myeclipse不會提示頁面有錯誤?
    對你無語了,再說了有些東西不是越新越好。  回復  更多評論
      
    # re: Lombok 安裝、入門 - 消除冗長的 java 代碼 2015-03-17 16:53 | 2
    2  回復  更多評論
      
    # re: Lombok 安裝、入門 - 消除冗長的 java 代碼 2015-06-11 17:43 | osmond
    這個性能如何?雖然setter、getter看起來臃腫,但是都可以用eclipse自動生成,注解應該是反射吧?有誰測過性能嗎  回復  更多評論
      
    # re: Lombok 安裝、入門 - 消除冗長的 java 代碼 2015-06-18 09:54 | Bruce Auyeung
    不是通過反射實現的,而是通過編譯時字節碼修改完成的。性能和 你手寫的代碼是一樣的。除非你認為他們自動生成的代碼性能不好。  回復  更多評論
      
    # re: Lombok 安裝、入門 - 消除冗長的 java 代碼 2015-10-14 16:19 | wangtl
    照你的方法,lombok在eclipse上安裝不上啊  回復  更多評論
      
    # re: Lombok 安裝、入門 - 消除冗長的 java 代碼 2016-01-14 14:36 | 方丈
    @osmond
    你看看就知道 這個在生成是會編譯成成對應的getter和setter方法
    話說你對注解不狗了解啊  回復  更多評論
      
    # re: Lombok 安裝、入門 - 消除冗長的 java 代碼 2016-05-18 14:46 | carlwang
    @rrt
    那個是轉發的  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲嫩草影院在线观看| 亚洲乱码一区二区三区在线观看| 亚洲精品国产第1页| 国产免费阿v精品视频网址| 亚洲色成人网站WWW永久| 国产精品美女免费视频观看| 亚洲中文字幕无码爆乳av中文| 阿v免费在线观看| 亚洲中文字幕成人在线| 女人隐私秘视频黄www免费| 国产亚洲成AV人片在线观黄桃 | 一区二区三区在线免费| 免费一级特黄特色大片在线| 日韩精品无码免费视频| 国产AV无码专区亚洲AV漫画| 美女被cao网站免费看在线看| 亚洲AV无码一区二区二三区入口| 久久午夜羞羞影院免费观看| 亚洲另类春色校园小说| 成全高清视频免费观看| 免费人成大片在线观看播放电影 | 美女在线视频观看影院免费天天看| 久久精品亚洲综合| 黄页网站在线看免费| 亚洲αⅴ无码乱码在线观看性色| 免费人成视网站在线观看不卡| yellow视频免费在线观看| 久久精品国产精品亚洲艾| 免费精品国产日韩热久久| 国产精品亚洲五月天高清| 亚洲综合AV在线在线播放| 麻豆国产精品免费视频| 青青青亚洲精品国产| 亚洲香蕉成人AV网站在线观看| 亚洲免费观看在线视频| 最新亚洲人成无码网www电影| 亚洲色欲色欲www在线丝| 99久久综合国产精品免费| 永久免费观看黄网站| 亚洲男人电影天堂| 亚洲国产精品国产自在在线|