小编Dra*_*MTN的帖子

Spring数据,通过嵌套对象的属性查找

我有以下代码:

@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

这可能吗?

java spring jpa spring-data-jpa spring-boot

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

每个环境的 AWS VPC,还是针对不同环境具有多个子网的单个 VPC?

假设我有三个环境 - 开发、测试和生产。我相信我有两个关于如何在 AWS 中设置它们的选择:

  1. 每个环境创建一个 VPC,所以总共三个 VPC。然后在每个 VPC 内添加不同可用区中的子网以实现可用性/冗余。创建第四个“共享服务”VPC,其中包含所有不同环境所需的服务。
  2. 创建具有多个子网的单个 VPC。我会在不同的可用区域中创建子网,并将不同的环境资源均匀地分布在子网中,这样如果一个区域出现故障,我就不会失去一个环境

这些方法中的哪一种被认为是最佳实践?如果有的话,每种方法的优点或缺点是什么?我是 AWS 的新手,到目前为止一直无法找到最佳答案的明确答案

amazon-web-services amazon-vpc

6
推荐指数
2
解决办法
1877
查看次数

使用Spring的@Value注入Map &lt;String,List &lt;String &gt;&gt;

我有一个属性文件,其中包含带有键的地图,每个键都有多个值,如下所示

//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,但我不确定如何

spring spring-boot

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