将数组从YML文件注入Spring

时间:2018-01-26 18:34:14

标签: java spring spring-boot

我正在开发一个Spring Boot项目,我想在我的application.yml文件中定义一个字符串数组。我想使用Spring将这个数组注入一个变量中,以便在我的一个类中使用,如下所示:

@Component
Class foo {
    @Value("${properties.ymlArray}")
    private ArrayList<String> fooArray;

    @Value("${properties.ymlArray[1]}")
    private String itemFromFooArray;
}

我的YML文件如下:

properties:
  ymlArray: [item1, item2, item3]

在上面的例子中itemFromFooArray正确填充,从数组中获取一个项目,但是我没有找到将整个数组注入变量的适当方法。

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

创建一个这样的配置类:

let uuid: String = UUID().uuidString
            let imagesRef = storageRef.child("\(uuid)")
            let exporter = AVAssetExportSession(asset: videos[i], presetName: AVAssetExportPresetHighestQuality)

        let uploadTask = imagesRef.putFile(from: exporter!.outputURL!, metadata: nil) { (metadata, error) in //app crasher here
            guard let metadata = metadata else {
                return
            }

            let downloadURL = metadata.downloadURL()

//REST OF CODE

@Configuration @ConfigurationProperties("properties") @Getter @Setter public class MyConfig { List<String> ymlArray; } 指定要查看的@ConfigurationProperties(<propName>)中的属性值。 您可以在application.yml课程中自动加载,以获取对这些属性值的访问权限。

foo

@Component Class foo { @Autowired MyConfig myConfig; } 将拥有包含所有三个值的数组。