我正在尝试使用此处描述的构造函数验证:
https://docs.oracle.com/javaee/7/tutorial/bean-validation003.htm
我有一个简单的生产者字段,它提供了一个字符串......
public class GreetingProducer {
@Produces @Named("greeting")
private String greeting = "Ron";
}
...注入到servlet中:
@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 上的部署不会产生任何错误并调用 servlet 打印Hello Ron
,尽管部署应该会失败。我还尝试了不同风格的约束声明,但没有任何效果。
任何想法为什么验证不启动?