小编Nov*_*Guy的帖子

Spring验证与Hibernate验证

我现在很困惑.我知道Hibernate Validator 6是Bean Validation 2.0规范的参考实现.它支持分组,错误消息的国际化,自定义方法验证等.问题是Spring 5是否支持这些功能,还是我只剩下Hibernate Validator 6?

为什么我应该使用Hibernate Validator和我的Sprig Boot项目而不是提供的Spring Validation.我的公司需要使用任何第三方库的理由.

所有在线参考示例都建议使用Hibernate Validator,并且在Spring验证中没有发现任何内容,请建议或指向其他链接.

java validation spring hibernate-validator

12
推荐指数
2
解决办法
7233
查看次数

lambda表达式与静态方法

我有一个关于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类中重用它?

java lambda static-methods functional-programming java-8

8
推荐指数
1
解决办法
3952
查看次数

EJB3 计时器在 Wildfly 服务器中不起作用

我正在尝试在 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)

java ejb-3.1 wildfly-8

1
推荐指数
1
解决办法
4063
查看次数