2015-05-28 32 views
0

我對spring很陌生。我看到了代碼嵌入到java源代碼中的一些spring驗證。我正試圖避免這一點。如何在配置文件中添加spring編輯

有沒有辦法使用屬性將編輯到bean配置文件。

例如@Size分鐘= 6最大值= 10

<bean id ="myvalidator" 
class = "org.some.spring.class.blahblahblah" 
<property name="min" value="6"> 
<property name="max" value="10"> 
<property name="errormsg" value=${error.msg}> 
/> 

或諸如此類的話

如何@annotation爲 「com.some.spring.classname」

+0

我的建議:使用註釋。外部XML配置的所謂目的是能夠在不重建應用程序的情況下重新配置,但實際上從未真正發生;更改XML需要執行與使用註釋進行配置相同的步驟,並且不必要地分離重要信息。 – chrylis

回答

0
關聯

驗證註釋不屬於Spring框架,通常它們來自javax.validation包,有時它們來自供應商,例如休眠類。檢查導入語句以確保這一點。

因此,如果您試圖擺脫註釋的目的是不依賴於任何框架,除非您使用供應商特定的驗證註釋,您不應該擔心。

但無論如何,如果你仍然想擺脫你的代碼中的註釋並且不使用任何驗證框架,一種方法是在別處創建一個Validator類,然後在需要時使用Spring注入它。

比方說,例如(我要去使用JavaConfig風格,因爲我不是很熟悉XML)

@Component 
public class MyValidator { 
    // some validation code 
} 

在某些配置類

@Configuration 
public class MyConfigurationClass { 
    @Bean 
    public MyValidator myValidator() { 
    return new MyValidator(); 
    } 
} 

現在你可以只要你需要,就用@Autowire注入驗證器的一個實例。

編輯:順便說一句,在這種情況下,驗證碼應該手動編碼,這就是如果你想擺脫註釋要付出的代價。

相關問題