小编Bar*_*zyk的帖子

Spring Boot应用程序无法运行-spring.resources.cache-period未绑定

我不愿意运行的Spring Boot应用程序遇到问题。

根据日志,这种情况的原因是未绑定的spring.resources.cache-period属性。但是,此属性在application.properties中设置,并且编译器甚至返回它的值。

如果有人可以帮我解决这个问题,我将不胜感激。

日志

绒球

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.gft</groupId>
<artifactId>app</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>app</name>
<description>Axon implementation for app project</description>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.1.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <axon.version>3.2</axon.version>
    <junit.version>4.12</junit.version>
    <lombok.version>1.16.20</lombok.version>
    <assertj.version>3.9.1</assertj.version>
    <jackson.version>2.9.5</jackson.version>
    <hamcrest.version>1.3</hamcrest.version>
    <s.dev.tools.version>1.3.0.RELEASE</s.dev.tools.version>
</properties>

<dependencies>
    <!-- Spring -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-webflux</artifactId>
    </dependency>
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

    <!-- Axon -->
    <dependency>
        <groupId>org.axonframework</groupId> …
Run Code Online (Sandbox Code Playgroud)

java spring axon spring-boot spring-boot-devtools

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

如何使用 AssertJ 递归比较具有不同字段名称但相同值的两个对象

我想使用 AssertJ 的递归比较来比较两个对象(DTO 和实体),以便对 DTO->Entity 映射器进行单元测试。这两个对象都具有值几乎相同的字段,但是这两个对象之间的某些字段具有不同的名称。这会导致以下错误:

DTO can't be compared to Entity as Entity does not declare all DTO fields, it lacks these: [dtoFieldA, dtoFieldB, dtoFieldC]
Run Code Online (Sandbox Code Playgroud)

我尝试过以下配置,但没有运气:

 assertThat(DTO)
    .usingRecursiveComparison(RecursiveComparisonConfiguration.builder()
    .withEqualsForFields(fieldAPRedicate, "dtoFieldA")
    .withEqualsForFields(fieldBPRedicate, "dtoFieldB")
    .withEqualsForFields(fieldCPRedicate, "dtoFieldC")
    .build())
.isEqualTo(Entity)

BiPredicate<DTO, Entity> fieldAPRedicate = (d, e) -> d.dtoFieldA().equals(e.entityFieldA());
BiPredicate<DTO, Entity> fieldBPRedicate = (d, e) -> d.dtoFieldB().equals(e.entityFieldB());
BiPredicate<DTO, Entity> fieldCPRedicate = (d, e) -> d.dtoFieldC().equals(e.entityFieldC());
Run Code Online (Sandbox Code Playgroud)

比较类:

数据传输对象:

public class DTO {
   protected String sameNameField1;
   protected String sameNameField2;
   protected String dtoFieldA;
   protected String dtoFieldB;
   protected …
Run Code Online (Sandbox Code Playgroud)

java assertj junit5

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