小编Dev*_*per的帖子

在spring boot jpa中将Lazy Loaded对象转换为JSON

我在将延迟加载的对象作为 JSON 发送以响应 Spring Boot 中的 REST 请求时出错。

当我从浏览器请求获取 parentTree 并调用 get 方法来获取版本以测试延迟加载并返回版本但在此过程中我收到下面提供的错误。

以下是我的模型:

父树.java

@Entity
@Data
@Table(name = "parent_tree_temp")
public class ParentTreeTemp {

    @Id
    private Long id;
    private String name;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "version_id")
    private Version versionId;
}
Run Code Online (Sandbox Code Playgroud)

版本.java

@Entity
@Data
public class Version {
    @Id
    private Long id;
    private String name;

    @Column(name = "gl_type")
    private String glType;

    @Column(name = "version_type")
    private String versionType;

    @Column(name = "effective_date")
    private Date effectiveDate;
}
Run Code Online (Sandbox Code Playgroud)

控制器.java

@GetMapping("/ParentTree")
    public Version parentTrees() { …
Run Code Online (Sandbox Code Playgroud)

hibernate jpa spring-boot spring-web

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

Spring Boot中的Mockito不模拟对象

我有一个简单的测试用例,我在 Spring Boot 应用程序中使用 Mockito。

用户操作.java

...
@Autowired
Validator nameValidator;

private boolean userOperation(String name) {
    NameStats nameStats = nameValidator.validate(name);
    if (!nameStats.isSuccess()) {
        throw new Exception();
    }
    return true;
}
...
Run Code Online (Sandbox Code Playgroud)

验证器.java

public NameStats validate(String name)
{
    NameStats nameStats = new NameStats();
    // code goes here
    return nameStats;
}
Run Code Online (Sandbox Code Playgroud)

测试用例.java

...
@SpringBootTest
@RunWith(SpringRunner.class)
public class ImportFileOperationTest {

    @Mock
    Validator nameValidator;

    @Mock
    NameStats nameStats;

    @InjectMocks
    UserOperation operation;

    @Test
    public void  ConnectorDelegate0Test() {
        Mockito.when(nameValidator.validate(any(String.class))).thenReturn(nameStats);
        Mockito.when(nameStats.isSuccess()).thenReturn(true);
        operation.userOperation(restConsumerRequest);
    }

}
...
Run Code Online (Sandbox Code Playgroud)

错误 :

对于上述测试用例,我收到 NullPointerException。在跟踪时,我发现测试中的以下代码行返回空值。 …

java unit-testing mockito spring-boot

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

Java 中的 lambda 表达式 ClassCastException

我正在尝试在 Java 8 中学习流媒体。以下是我的代码:

主程序

public class Main {
    public static void main(String[] args) {

        Person person = new Person("FirstName", "LastName");
        List<Person> personList = new ArrayList<>();
        personList.add(person);

        Place place = new Place("name", "country");
        List<Place> placeList = new ArrayList<>();
        placeList.add(place);


        List<List<Object>> objects = new ArrayList<>();
        objects.add(Collections.singletonList(personList));
        objects.add(Collections.singletonList(placeList));

        List<Object> persons = objects.get(0);
        List<String> firstNames = persons.stream()
                .map(o -> ((Person)o).getFirstName())
                .collect(Collectors.toList());

        firstNames.forEach(System.out::println);
    }
}
Run Code Online (Sandbox Code Playgroud)

人.java

@Data
public class Person {
    String firstName;
    String lastName;

    public Person(String firstName, String lastName) {
        setFirstName(firstName);
        setLastName(lastName);
    } …
Run Code Online (Sandbox Code Playgroud)

java casting java-8 java-stream

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