我有以下代码:
@Entity
public class StudentEntity {
@Id
private String id;
private Student student;
...
}
public class Student {
private String name;
private List<Grade> grades;
}
public class Grade {
private String className;
private String grade;
}
Run Code Online (Sandbox Code Playgroud)
我已经建立了一个Spring数据mongodb存储库,并且我试图创建一个方法,该方法将List<Student>基于className我作为参数传入的a 返回。根据我读过的所有内容,我认为以下方法可行:
public List<Student> findByStudentGradesClassName(final String className);
Run Code Online (Sandbox Code Playgroud)
但这会导致错误,指出参数类型应为Grade对象。我真的只想传递一个String className。
这可能吗?
假设我有三个环境 - 开发、测试和生产。我相信我有两个关于如何在 AWS 中设置它们的选择:
这些方法中的哪一种被认为是最佳实践?如果有的话,每种方法的优点或缺点是什么?我是 AWS 的新手,到目前为止一直无法找到最佳答案的明确答案
我有一个属性文件,其中包含带有键的地图,每个键都有多个值,如下所示
//properties.yml
myMap:
key1: value1, value2
key2: value1, value2, value3
Run Code Online (Sandbox Code Playgroud)
myMap使用Spring属性类很容易阅读,如下所示:
@Configuration
@ConfigurationProperties
public class MyConfiguration {
private Map<String, List<String>> myMap;
public Map<String, List<String>> getMyMap() {
return myMap;
}
public void setMyMap(Map<String, List<String>> myMap) {
this.myMap = myMap;
}
}
Run Code Online (Sandbox Code Playgroud)
但是,对于一个简单的任务,这感觉像很多代码。我想知道是否有一种方法可以使用Spring的@Value注解来实现相同的目的?我试图使它无法成功工作,尝试类似
@Value("${myMap}")
private Map<String, List<String>> myMap;
Run Code Online (Sandbox Code Playgroud)
我认为可能需要SPEL,但我不确定如何