【问题标题】:Spring initialise test data in orderSpring按顺序初始化测试数据
【发布时间】:2018-06-20 18:22:51
【问题描述】:

在我的 Spring 应用程序中,我使用注解 @PostConstruct 在 Spring 应用程序开始运行时初始化测试数据。

我有两个类 CInitialiserPInitialiser 由于我设置项目的性质,我需要首先运行 PInitialiser 类。两个实体之间的关系是双向的多对多。

我需要首先运行 PInitialiser 实体,因为我需要初始化项目以将它们分配给客户。但看起来CInitialiser 先运行。有没有办法让实体Project先运行?

这是我的代码:

@PostConstruct
public void init() {
    for (Module m : modules) {
        if (enviromentTest) {
            try {
                m.initData();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}

我的每个类都实现了Module

public class CInitialiser implements Module

public class PInitialiser implements Module

【问题讨论】:

标签: spring spring-mvc spring-boot spring-annotations


【解决方案1】:

你可以使用@Order注解来指定spring bean的初始化顺序。 docs 这里有一些例子

What is the use of @Order annotation in Spring?

https://javapapers.com/spring/spring-order-annotation/

【讨论】:

    猜你喜欢
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    • 2016-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多