2009-09-11 26 views
4

我想向Java Bean添加驗證。例如,我要做到以下幾點:通過註釋向Java Beans添加驗證

@MaxLength(50) 
@RequiredField 
public void setEmployeeName(String name){ 
    ..... 
} 

我知道我可以編寫代碼,通過調用method.getDeclaredAnnotation所有的bean值被設置後得到具體的方法的驗證。我想避免編寫代碼

Java6中是否有任何通過註釋提供標準驗證的東西?我需要aspectj來調用這些註釋嗎?

在此先感謝。

+0

您應該嘗試在沒有任何鞋的情況下穿上它 – mkoryak 2009-09-11 19:19:16

+0

看看集成了JSR-303和AspectJ的[jcabi-aspects](http://www.jcabi.com/jcabi-aspects/jsr-303.html) – yegor256 2013-03-07 07:36:22

回答

0

您將能夠做到這一點的唯一方法是通過反射和自定義驗證實用程序/攔截器/代理。 JSR 303和JSR 305被提議引入類似的功能,但沒有這樣的存在。

您遇到的問題之一是這些註釋需要在某種框架級別處理,或者至少在某種被調用操作之前被截取。最常見的兩種方式是通過創建一個實用程序或通過在調用處理程序(代理)中驗證預調用來完成此操作。現實情況是,除非內建於Spring,Struts,Guice,Java本身等內容,否則您只會產生不必要的開銷,並且最好根據需求檢查驗證邊界。