在pom.xml中加入,他需要validation-api.jar,hibernate-validator两个开发包
<!-- JSR 303 with Hibernate Validator -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.0.2.GA</version>
</dependency>
.....再加入
<repositories>
<!-- For JSR 303 and Hibernate Validator only - Encourage JBoss to publish these artifacts to Maven Central! -->
<repository>
<id>org.jboss.repository.maven</id>
<url>http://repository.jboss.org/maven2</url>
<snapshots><enabled>false</enabled></snapshots>
</repository>
</repositories>
类的一个例子
package org . springframework . samples . mvc . basic . account ;
import java.math.BigDecimal ;
import java.util.Date ;
import java.util.concurrent.atomic.AtomicLong ;
import javax.validation.constraints.Future ;
import javax.validation.constraints.NotNull ;
import javax.validation.constraints.Size ;
import org.springframework.format.annotation.DateTimeFormat ;
import org.springframework.format.annotation.DateTimeFormat.ISO ;
import org.springframework.format.annotation.NumberFormat ;
import org.springframework.format.annotation.NumberFormat.Style ;
public class Account {
private Long id ;
@NotNull
@Size (min = 1 , max = 25 )
private String name ;
@NotNull
@NumberFormat (style = Style . CURRENCY )
private BigDecimal balance = new BigDecimal ("1000" );
@NotNull
@NumberFormat (style = Style . PERCENT )
private BigDecimal equityAllocation = new BigDecimal (".60" );
@DateTimeFormat (iso = ISO . DATE )
@Future
private Date renewalDate = new Date (new Date (). getTime () + 31536000000L );
public Long getId () {
return id ;
}
void setId (Long id ) {
this . id = id ;
}
public String getName () {
return name ;
}
public void setName (String name ) {
this . name = name ;
}
public BigDecimal getBalance () {
return balance ;
}
public void setBalance (BigDecimal balance ) {
this . balance = balance ;
}
public BigDecimal getEquityAllocation () {
return equityAllocation ;
}
public void setEquityAllocation (BigDecimal equityAllocation ) {
this . equityAllocation = equityAllocation ;
}
public Date getRenewalDate () {
return renewalDate ;
}
public void setRenewalDate (Date renewalDate ) {
this . renewalDate = renewalDate ;
}
Long assignId () {
this . id = idSequence . incrementAndGet ();
return id ;
}
private static final AtomicLong idSequence = new AtomicLong ();
}
然后配置你自己的message就可以,我这里是messages_zh_CN.properties