Java 如何使用Spring创建bean验证框架
我有BeanAddressBean,它有一些属性,比如addressLine1、city等。 在使用AddressBeanService将其持久化到DB之前,我正在对其进行预验证,在保存之后,我将使用ValidateAddressService中的preValidate和postValidate函数对其进行后验证。所有这些我都是从AddressBeanHelper类触发的Java 如何使用Spring创建bean验证框架,java,spring,validation,frameworks,Java,Spring,Validation,Frameworks,我有BeanAddressBean,它有一些属性,比如addressLine1、city等。 在使用AddressBeanService将其持久化到DB之前,我正在对其进行预验证,在保存之后,我将使用ValidateAddressService中的preValidate和postValidate函数对其进行后验证。所有这些我都是从AddressBeanHelper类触发的 class AddressBeanHelper{ AddressBean bean =null; Addr
class AddressBeanHelper{
AddressBean bean =null;
AddressBeanHelper(AddressBean bean){
this.bean=bean;
}
ValidationService validate=new ValidateAddressService();
function doStuff(){
validate.preValidateAddressBean (bean);
//business logic for AddressBean
validate.preValidateAddressBean (bean);
}
}
class ValidateAddressService implements ValidationService <AddressBean>{
preValidateAddressBean (AddressBean bean){
//here is the issue
}
preValidateAddressBean (AddressBean bean){
//here is the issue
}
}
类地址BeanHelper{
AddressBean=null;
AddressBeanHelper(AddressBeanBean){
这个.bean=bean;
}
ValidationService validate=新的ValidateAddressService();
函数doStuff(){
validate.preValidateAddressBean(bean);
//AddressBean的业务逻辑
validate.preValidateAddressBean(bean);
}
}
类ValidateAddressService实现ValidationService{
preValidateAddressBean(AddressBean){
//问题就在这里
}
preValidateAddressBean(AddressBean){
//问题就在这里
}
}
我想在spring中使用一些框架或技巧,通过这些框架或技巧,我只需要在验证函数中编写泛型代码,并在代码本身之外具体化我的验证规则。
就像一个规则引擎,它可以自动验证bean的每个属性。
目前,我的应用程序基础架构是服务器端的spring/hibernate,客户端的jsp/jquery,部署服务器在heroku上。看看这个: 它支持JSR-303,因此是一个标准。它很容易实现,并且支持自定义和一些预定义的即用验证器 您还可以在此处找到一些参考资料: