0

ここで説明されているように、コンストラクターの検証を使用しようとしています:

https://docs.oracle.com/javaee/7/tutorial/bean-validation003.htm

文字列を提供する単純なプロデューサーフィールドがあります...

public class GreetingProducer {

    @Produces @Named("greeting")
    private String greeting = "Ron";

}

...サーブレットに注入されます:

@WebServlet(urlPatterns = "/test")
@SuppressWarnings("serial")
public class TestServlet extends HttpServlet {

    private final String greeting;

    @Inject
    public TestServlet(@Named("greeting") @Size(min = 4) String greeting) {
        this.greeting = greeting;
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.getWriter().println("Hello " + greeting);
    }

}

Wildfly 9 へのデプロイではエラーが発生せず、サーブレットを呼び出しても が出力されますHello Ronが、デプロイは失敗するはずです。さまざまなフレーバーの制約宣言も試しましたが、何も機能しませんでした。

検証が開始されない理由はありますか?

4

0 に答える 0