草庐IT

java - 用于在 Spring MVC 中进行基于注解验证的 bean 单元测试的良好模式

当对表单bean使用基于注释的验证时,单元测试这些bean以确保为每个字段指定正确的验证注释的最佳实践是什么?例如,如果您有:publicclassMyForm{@NotNullprivateStringname;}验证@NotNull是否应用于它的最佳方法是什么?一个明显的方法是创建一个validator,向它抛出一个null并期望它失败。但在我看来,这不是最好的方法,因为您将使用它而不是信任框架来测试@NotNull的行为和实现。理想情况下,我想使用反射或实用程序,让我可以断言@NotNull(和任何其他)验证应用于给定字段,而不必发送验证失败的各种值组合。是否有一种优雅的方式来做

java - 无法将 JSF ViewScoped bean 作为 ManagedProperty 注入(inject) validator

我正在尝试将JSFViewScopedbean作为ManagedProperty注入(inject)到实现javax.faces.validator.Validator的RequestScopedbean中。但始终会注入(inject)ViewScopedbean的新副本。ViewScopedBean@ViewScoped@ManagedBeanpublicclassBean{privateIntegercount=1;privateStringfield2;publicStringaction(){++count;returnnull;}publicStringanotherActi

java - 从托管 bean 发布时出现警告 "[Parameters] Parameters : Invalid chunk ignored"

我正在从托管bean中打开一个HttpURLConnection以发布到外部服务。当我调用HttpUrlConnection.getInputStream()时,我收到以下警告:WARN[Parameters]Parameters:Invalidchunkignored一切都进行得很好,但我想在我们的日志中保留一些这样的警告。是什么导致了此警告?我该如何阻止它发生?相关代码如下:@ManagedBean@SessionScopedpublicclassMyController{privatevoiddoStuff(){...URLurl=newURL(externalServiceUr

java - 为什么选择 JMS 作为异步解决方案?为什么它比简单的实体 bean 更好?

在我参与的大多数项目中,异步解决方案的选择一直是很多讨论的来源......每次一个实体bean就足以管理一个队列:我们只需将一条消息(票证)存储在一个表中,然后一个处理cron将队列拆栈。这个简单的解决方案的优点是非常简单,它基于数据库的事务上下文,我们可以在执行期间管理接收到的消息的状态。因此我提出以下问题:1)我们有什么兴趣使用JMS?JMS有什么好处?2)在哪种情况下更喜欢JMS而不是实体bean?感谢您的回复和反馈! 最佳答案 1)WhatinterestwehavetouseJMS?Whatarethebenefitsof

java - 如何引用 JAR 文件中提供的 JSF 托管 bean?

我有一个具有以下结构的WAR文件:JSF托管beanBusinessObjectTypeListController位于/WEB-INF/lib中的commons-web-1.0.jar中,并在BusinessObjectTypeListView.xhtml。当我运行我的Web应用程序并调用该View时,出现以下错误:javax.servlet.ServletException:/view/common/businessObjectTypeListView.xhtml@34,94listener="#{businessObjectTypeListController.selectDat

java - 如何以编程方式注册 JSF 托管 bean?

我想以编程方式(从Servletinit()中)将托管Bean类注册/添加到应用程序范围中。我怎样才能用JSF1.2做到这一点? 最佳答案 fromwithinaServletinit()因此,它涉及非JSF请求。FacesContext#getCurrentInstance()会返回null在这里,所以在这里对你没有用。很高兴知道JSF应用程序范围的托管bean基本上存储为ServletContext的一个属性。.在init()方法你有ServletContext由继承人在您手中getServletContext()方法。因此,应

java - 使用 Hibernate 更新表时忽略实体 bean 的空值

Stuckonthesameproblem在Hibernate中更新数据库时,是否有任何方法可以忽略null值?每当你调用update();Session,它还将更新在对象中找到的空值。示例:Useruser=newUser();user.setUserId(5);user.setUserName("Maarten");user.setUserFirstName(null);//butindatabasethisvalueisnotnullsession.update(user);或session.saveOrUpdate(user);数据库现在将更新用户,但会将用户名字设置为空(因为

java - 为什么要使用有状态 session bean?

我正在学习EJB3,我只是好奇什么时候方便使用SFSB?当SFSB真正轻松解决一些复杂问题时,我找不到任何好的例子。实际上我看到SLSB可以用作网络服务,这很方便。但是我不知道什么时候使用SFSB。我只看到它的问题,因为我们应该学习一些关于它的东西,我们应该编写由注释组成的代码,而不是完全,我们应该使用烦人的查找......我们没有得到任何好的返回。例如,我们不能从SLSB使用SFSB,因为有状态对象只能从有状态上下文使用。我们不能在servlet中使用DI,而应该使用JNDI查找手动创建SFSB实例,然后将其放入HttpSession对象中。它不能是网络服务。我在SFSB中看到的唯一

java - 当我可以直接使用类名访问唯一的静态方法时,创建 Spring bean 是否有利

我认为我对springbeans的理解有点偏差。我正在做我的项目,我正在考虑这种情况。假设我有类FooclassFoo(){publicvoiddoSomething(Objecta,Objectb){//inputparametersdoesnotmatteractually.//dosomething}}如果我在另一个类中使用此类:classScheduler{....@AutowiredprivateFoofoo;someMethod(){foo.doSomeThind(a,b);}....}在上述情况下,我可以使doSomeThing静态并直接使用Foo.doSomeThing

java - JSF 托管 bean 在 Tomcat 部署期间导致 java.io.NotSerializableException

在Tomcat7上部署我的webApplication时,我得到以下控制台输出。重启服务器2-3次后无异常。我正在使用JSF、Tomcat和一个RMI连接到业务逻辑部分(这在这里无关紧要?)@EJBin@ViewScopedmanagedbeancausesjava.io.NotSerializableException-在这里我读到了序列化。但在那种情况下,客户端状态保存被激活,而在我的webApp中不是这种情况(据我的web.xml告诉我)。那么我的viewscopedManagedBean的序列化是必要的还是有另一个失败?这是我的启动控制台输出(抱歉其中的德语部分):28.01.