小编led*_*led的帖子

具有动态查询的Spring Data JPA分页(可分页)

我有一个简单的查询,如下所示"select*from USERS".我还使用Pageable来启用分页.

此查询可能具有基于给定参数为null的可选谓词.

例如,如果给出"code"参数而不是null,则查询变为"select*from USERS where code =:code";

据我所知,我无法使用@Query注释实现此功能.我可以实现自定义存储库并使用EntityManager来创建动态查询.但是,我不确定如何将"Pageable"与其相结合以获取分页结果.

我怎样才能做到这一点?

pagination spring-data-jpa

16
推荐指数
1
解决办法
3万
查看次数

Spring Boot会话超时

server.session-timeout 似乎只适用于嵌入式tomcat.

我放了一个日志语句来检查会话最大间隔时间.在手动将war文件部署到tomcat后,我意识到默认会话超时值(30分钟)仍在使用.

如何使用spring-boot设置会话超时值(不是针对嵌入式tomcat,而是针对独立应用程序服务器)?

spring-boot

11
推荐指数
2
解决办法
4万
查看次数

基于Spring-Boot模块的集成测试

我有一个多模块的Spring-Boot项目.我想知道如何设置集成测试只是为了测试Spring Data JPA存储库?以下方法失败,出现此异常:HV000183:无法加载'javax.el.E​​xpressionFactory'.检查类路径上是否有EL依赖项.

由于此模块不依赖于Web模块,因此没有可以启动的Web应用程序.

@RunWith(SpringJUnit4ClassRunner.class)
@IntegrationTest
@SpringApplicationConfiguration(classes = TestConfiguration.class)
class CardInfoRepositoryIT {

    @Autowired CardInfoRepository cardInfoRepository;

    @Test
    void testLoadData() {
        assert cardInfoRepository.findAll().size() == 1
    }

}
Run Code Online (Sandbox Code Playgroud)

spring-test spring-boot

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

Java 8 Lambda指定地图类型并使其不可修改

我有以下代码,使用lambdas生成数月.

 Map<Integer, String> tempMap = new LinkedHashMap<>();

 EnumSet.allOf(Month.class).forEach(m -> {
        String formattedMonth = DateTimeFormatter.ofPattern("MMM").format(m);
        tempMap.put(m.getValue(), formattedMonth);
    });

 MONTHS_MAP = Collections.unmodifiableMap(tempMap);
Run Code Online (Sandbox Code Playgroud)

我想知道是否可以使用lambdas一次性完成所有这些操作?

return EnumSet.allOf(Month.class).stream()
                .collect(Collectors.collectingAndThen(Collectors.toMap(
                        Month::getValue,
                        m -> DateTimeFormatter.ofPattern("MMM").format(m)
                ), Collections::unmodifiableMap));
Run Code Online (Sandbox Code Playgroud)

这不起作用.我在哪里指定我想使用LinkedHashMap?

java lambda java-8

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

Spring MockMVC - 如何模拟在控制器之外运行的自定义验证器

@UsernameAlreadyExists
private String username;
Run Code Online (Sandbox Code Playgroud)

我创建了一个自定义验证器,以确保在提交帐户创建表单时应用程序会捕获重复的用户名。

当我使用 MockMVC 对帐户创建控制器进行单元测试时,它失败了,因为验证器依赖于服务,所以我得到空指针异常。

如何模拟验证器或此验证器所依赖的服务?我无法弄清楚如何进行这项工作,因为控制器不明确依赖于验证器,它在控制器之外运行。

validation spring unit-testing spring-test spring-test-mvc

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

确保针对XSS的应用程序

我们目前正在使用OWASP Antisamy项目来保护我们的应用程序免受XSS攻击.当任何给定表单提交给服务器时,每个输入字段都被清理.它工作正常,但我们在公司名称,组织名称等字段方面存在问题.

例如:Ampersand为AT&T进行转义,公司名称显示错误(显示转义字符).

我们手动更新数据库中的字段以解决此问题.然而,你可以想象这是一个痛苦的脖子.

有没有办法使用OWASP反歧视来解决这个问题,还是应该使用不同的库?

security xss owasp

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