作者adrianshum (Alien)
看板java
標題Re: [問題] annotation
時間Thu Sep 2 14:53:51 2010
※ 引述《luoqr (.....)》之銘言:
: 要請問一下關於 annotation 的問題
: 要如何自行定義 annotation 達到自動生成程式碼?
: 就像是撰寫一個 class 的 getter & setter 一樣
: 只想在欄位上掛著 @Getter or @Setter 之類的 annotation
: 在 compile 階段則自動生成 getter & setter 的程式碼
: 我知道有個方便的東西(lombok) 不過不知道它是怎麼辦到的?
: 找了一下 apt 看了一下範例...
: http://download.oracle.com/javase/1.5.0/docs/guide/apt/GettingStarted.html
: 嗯...是會生成新檔案 但好像不能對原來的程式碼附加一些內容上去 :S
: 有人有經驗分享嗎? 謝謝~~
我記得我看過的 annotation 的教學,
都正是會拿你這個作例子, 指出
"不要這樣做"!
生成 getter setter 不是不可行, 只是
這樣做, 別人拿著你的 source code 是
不能直接 compile 的, 這樣只會令開發
變得麻煩而不是簡化
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.238.156.185
推 PsMonkey:這是 source code 保護機制 [誤] 09/02 14:59
推 luoqr:不能當lib用嗎?像lombok一樣安裝後,直接在程式碼裡寫@Setter 09/02 20:12
→ luoqr:好像就可以直接使用指定欄位的set方法 @@ 09/02 20:14