Spring 按顺序初始化测试数据
Spring initialise test data in order
在我的 Spring 应用程序中,当 Spring 应用程序开始 运行.
时,我使用注释 @PostConstruct
来初始化测试数据
我有两个 classes CInitialiser
和 PInitialiser
由于我如何设置项目的性质,我需要 PInitialiser
class 运行 第一。两个实体之间的关系是双向多对多的。
我首先需要 PInitialiser
实体到 运行,因为我需要初始化项目以将它们分配给客户。但看起来 CInitialiser
是 运行ning 第一。有没有办法让实体先Project
运行?
这是我的代码:
@PostConstruct
public void init() {
for (Module m : modules) {
if (enviromentTest) {
try {
m.initData();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
我的每个 classes 都实现了 Module
:
public class CInitialiser implements Module
public class PInitialiser implements Module
您可以使用 @Order
注释指定 spring bean 的初始化顺序。 docs
这里有一些例子
What is the use of @Order annotation in Spring?
在我的 Spring 应用程序中,当 Spring 应用程序开始 运行.
时,我使用注释@PostConstruct
来初始化测试数据
我有两个 classes CInitialiser
和 PInitialiser
由于我如何设置项目的性质,我需要 PInitialiser
class 运行 第一。两个实体之间的关系是双向多对多的。
我首先需要 PInitialiser
实体到 运行,因为我需要初始化项目以将它们分配给客户。但看起来 CInitialiser
是 运行ning 第一。有没有办法让实体先Project
运行?
这是我的代码:
@PostConstruct
public void init() {
for (Module m : modules) {
if (enviromentTest) {
try {
m.initData();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
我的每个 classes 都实现了 Module
:
public class CInitialiser implements Module
public class PInitialiser implements Module
您可以使用 @Order
注释指定 spring bean 的初始化顺序。 docs
这里有一些例子
What is the use of @Order annotation in Spring?