我在我的彈簧啓動應用程序中使用@Autowired
來初始化一些屬性。 我知道如何初始化原始數據類型,但我不知道如何初始化對象。使用application.properties初始化一個對象
這是我Component
:
@Component
@ConfigurationProperties(prefix = "bitmovin.bitmovin")
public class BitmovinConfig {
private S3InputConfig S3InputConfig = new S3InputConfig();
private int threadPoolSize;
private ArrayList<String> testFiles;
public BitmovinConfig() {
}
public S3InputConfig getS3InputConfig() {
return S3InputConfig;
}
public void setS3InputConfig(S3InputConfig s3InputConfig) {
S3InputConfig = s3InputConfig;
}
public int getThreadPoolSize() {
return threadPoolSize;
}
public void setThreadPoolSize(int threadPoolSize) {
this.threadPoolSize = threadPoolSize;
}
public ArrayList<String> getTestFiles() {
return testFiles;
}
public void setTestFiles(ArrayList<String> testFiles) {
this.testFiles = testFiles;
}
}
這就是我的application.properties
文件:
bitmovin.bitmovin.threadPoolSize = 30
bitmovin.bitmovin.S3InputConfig = ??
bitmovin.bitmovin.testFiles= ??
我怎麼能初始化對象或application.properties
列表?
UPDATE
的對象,這是我沒有創建自己,我要初始化:
public class S3OutputConfig {
@Expose
public String name;
@Expose
public S3Region region;
@Expose
public String accessKey;
@Expose
public String secretKey;
@Expose
public String bucket;
@Expose
public String prefix;
@Expose
public boolean makePublic;
}
感謝您對列表的建議工作相當好,但是當我使用'bitmovin.bitmovin.s3-input-config.bucket = awesome-video'來設置對象屬性時,它仍然爲空。 – TheDoctor
我用對象的類更新了我的問題。 – TheDoctor
您無法初始化完整的對象,您需要按照我在示例中所做的來初始化各個字段。最後注意'.name'。我不知道那些'@ Expose'是什麼,但你需要getter/setter來讓綁定工作。 –