10.5.2 CDIからBean Validationの利用手順

ここでは,CDIからBean Validationを利用するための手順を示します。

<この項の構成>
(1) 利用前に必要な手順
(2) 実装例

(1) 利用前に必要な手順

CDIでBean Validationによる検証処理を行うためには,次の手順が必要になります。

  1. ユーザアプリケーションクラスで@Injectアノテーションを使って,ValidatorFactoryを注入してください。
    例:@Inject private ValidatorFactory validatorFactory
  2. Validatorオブジェクトを得るために,Bean ValidationからユーザアプリケーションのvalidatorFactory.getValidator()を呼びます。
  3. 最後に,ユーザアプリケーションから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;
       }
}