2015-06-26 29 views

回答

4

Java中的註釋使用常量作爲參數。你不能動態改變它們。

編譯常量只能是原語和字符串。請檢查此link

如果你想使它可配置,你可以聲明它們爲靜態final。

例如:

private static final int MIN_RANGE = 1; 

private static final int MAX_RANGE = 100; 

,然後在註釋分配。

@Range(min=MIN_RANGE,max=MAX_RANGE) 
private String amount; 

註釋屬性的值必須是常量表達式。

0

如果你在你的項目中使用Spring,你可以做這樣的事情:

屬性文件:

min_range = 0 
max_range = 100 

spring.xml:

<context:component-scan 
    base-package="com.test.config" /> 
<context:annotation-config /> 

<bean id="appConfigProperties" class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer"> 
    <property name="location" value="classpath:appconfig.properties" /> 
</bean> 

的java:

@Range(min=${min_range},max=${max_range}) 
private String amount; 

這不是動態變化,但我想你試圖找到像這樣的東西

+0

min =「$ {min_range}」,max =「$ {max_range}」 – prsmax