Spring 如何使用测试类获取实体与注释的关系?
我创建了一个简单的Spring boot应用程序,其中包含两个实体,即Spring 如何使用测试类获取实体与注释的关系?,spring,unit-testing,spring-boot,junit,spring-test,Spring,Unit Testing,Spring Boot,Junit,Spring Test,我创建了一个简单的Spring boot应用程序,其中包含两个实体,即Company.java和User.java。这两者有@OneToMany关系。我创建了一个测试文件,用于生成打印这两个实体属性的typescript文件。这是我的测试用例 @Inject RepositoryRestMvcConfiguration configuration; @Test public void getEndPoints() { configuration.resourceMappings().f
Company.java
和User.java
。这两者有@OneToMany
关系。我创建了一个测试文件,用于生成打印这两个实体属性的typescript文件。这是我的测试用例
@Inject
RepositoryRestMvcConfiguration configuration;
@Test
public void getEndPoints() {
configuration.resourceMappings().forEach(c -> {
String className = c.getDomainType().getName();
try {
Class<?> entityClass = Class.forName(className);
Field[] fields = entityClass.getDeclaredFields();
File tsClassDir = new File("data/tsClass");
File tsClass = new File(tsClassDir, entityClass.getSimpleName() + ".ts");
if (!tsClass.getParentFile().exists()) {
tsClass.getParentFile().mkdirs();
}
tsClass.createNewFile();
String code = "export interface " + entityClass.getSimpleName() + "{\n";
for (Field field : fields) {
try {
NotNull notNullAnnotation = field.getDeclaredAnnotation(NotNull.class);
Class<?> filedClass = Class.forName(field.getType().getName());
if (notNullAnnotation == null){
code += "\t" + field.getName() + "?: " + filedClass.getSimpleName().trim() + ";" + "\n";
}else{
code += "\t" + field.getName() + ": " + filedClass.getSimpleName().trim() + ";" + "\n";
}
} catch (Exception e) {
// TODO: handle exception
}
// System.err.println(field.getName());
}
code += "}";
Files.write(tsClass.toPath(), code.getBytes());
System.err.println(code);
} catch (Exception e) {
// TODO: handle exception
}
});
}
但是我需要在typescript文件中打印公司
和用户
有@OneToMany
关系。我该怎么做
export interface User{
userName: String;
password: String;
email: String;
company?: Company;
}
export interface Company{
name: String;
email: String;
users?: Set;
}