10.5.2 CDIからBean Validationの利用手順
ここでは,CDIからBean Validationを利用するための手順を示します。
- 〈この項の構成〉
(1) 利用前に必要な手順
CDIでBean Validationによる検証処理を行うためには,次の手順が必要になります。
-
ユーザアプリケーションクラスで@Injectアノテーションを使って,ValidatorFactoryを注入してください。
例:@Inject private ValidatorFactory validatorFactory
-
Validatorオブジェクトを得るために,Bean ValidationからユーザアプリケーションのvalidatorFactory.getValidator()を呼びます。
-
最後に,ユーザアプリケーションからvalidator.validate()メソッドを呼び,検証するBeanクラスを渡します。
(2) 実装例
CDIからBean Validationを使用する場合の実装例を示します。
まず,検証が必要な情報を登録するサーブレットの実装例を示します。
public class EmployeeServBv extends HttpServlet{
@Inject private ValidatorFactory validatorFactory;
@Inject BV_CDI bean;
public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException{
Validator validator = validatorFactory.getValidator();
validator.validate(bean);
}
}この例では,BV_CDI beanでBean Validationのアノテーションを適用しています。
検証対象のデータを格納するBeanに対する検証定義の実装例を次に示します。
import javax.validation.constraints.NotNull;
public class BV_CDI{
@NotNull
private String name;
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
}