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; } }