我现在很困惑.我知道Hibernate Validator 6是Bean Validation 2.0规范的参考实现.它支持分组,错误消息的国际化,自定义方法验证等.问题是Spring 5是否支持这些功能,还是我只剩下Hibernate Validator 6?
为什么我应该使用Hibernate Validator和我的Sprig Boot项目而不是提供的Spring Validation.我的公司需要使用任何第三方库的理由.
所有在线参考示例都建议使用Hibernate Validator,并且在Spring验证中没有发现任何内容,请建议或指向其他链接.
我有一个关于lambda表达式的可重用性而没有代码重复的问题.例如,如果我有一个辅助方法,我可以很容易地将它编码为静态方法,并且可以从其他类中引用它而不需要代码重复.这怎么会在lambda表达式中起作用?示例:我编写了以下静态方法
public class MyUtil {
public static int doubleMe(int x) {
return x * 2;
}
}
Run Code Online (Sandbox Code Playgroud)
我可以在整个项目的多个位置重复使用相同的方法而无需代码重复
public class A {
public void someOtherCalculation() {
MyUtil.doubleMe(5);
}
}
public class B {
public void myCalculation() {
MyUtil.doubleMe(3);
}
}
Run Code Online (Sandbox Code Playgroud)
当涉及到lambda函数时,它如何工作,编写一次函数并在多个类中使用相同的函数.
Function<Integer, Integer> doubleFunction = x -> x * 2;
Run Code Online (Sandbox Code Playgroud)
在我的例子中,我将在哪里编写上面的lambda函数,以及如何在A类和B类中重用它?
我正在尝试在 EJB3 中创建一个简单的计时器,示例取自:http : //www.adam-bien.com/roller/abien/entry/simplest_possible_ejb_3_16
我在eclipse中创建了一个动态web项目,并添加了以下代码。我没有看到任何输出
import javax.ejb.Schedule;
import javax.ejb.Stateless;
@Stateless
public class ShowCurrentTime {
@Schedule(second="*/1", minute="*",hour="*")
public void showTime() {
System.out.println("Time : " + System.currentTimeMillis());
}
}
Run Code Online (Sandbox Code Playgroud)
这在添加了以下依赖项的 maven 项目中也不起作用:
<dependency>
<groupId>org.jboss.spec.javax.ejb</groupId>
<artifactId>jboss-ejb-api_3.1_spec</artifactId>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
编辑:更新我的代码以导入 javax.annotation.PostConstruct; 导入 javax.ejb.Schedule; 导入 javax.ejb.Singleton; 导入 javax.ejb.Startup;
@Singleton
@Startup
public class ShowCurrentTime {
@Schedule(second="*/1", minute="*", hour="*", persistent = false)
public void showTime() {
System.out.println("Time : " + System.currentTimeMillis());
}
@PostConstruct
public void applicationStartup() {
showTime();
}
} …Run Code Online (Sandbox Code Playgroud)