我有一个 ENUM
作为
package com.myorg.sparrow.s3Environment;
import javax.annotation.Nonnull;
public enum DocumentType {
Document("document/", ".xml.gz", "binary/octet-stream", "gzip", true);
private final String path;
private final String suffix;
private final String contentType;
private final String contentEncoding;
private final Boolean compress;
private DocumentType(@Nonnull final String path, @Nonnull final String suffix,
@Nonnull final String contentType, @Nonnull final String contentEncoding,
@Nonnull final Boolean compress) {
this.path = path;
this.suffix = suffix;
this.contentType = contentType;
this.contentEncoding = contentEncoding;
this.compress = compress;
}
@Nonnull
public String getPath() {
return path;
}
@Nonnull
public String getSuffix() {
return suffix;
}
@Nonnull
public String getContentType() {
return contentType;
}
@Nonnull
public String getContentEncoding() {
return contentEncoding;
}
@Nonnull
public Boolean isCompress() {
return compress;
}
}
我想在 Spring
配置文件中注入(inject) DocumentType.Document
的这个值
<bean id="s3Service" class="com.myorg.sparrow.business.xml.persist.S3Service">
<constructor-arg ref="awsCredentials" />
<constructor-arg value="**DocumentType.DOCUMENT**" /> // how do I inject it here?
<constructor-arg value="${com.myorg.sparrow.s3EnvironmentConfiguration.S3EnvironmentConfigurator-destBucketName}" />
</bean>
如何将这个值注入(inject)
<constructor-arg value="**DocumentType.DOCUMENT**" /> // how do I inject it here?
我是 Spring 框架的新手,不知道如何实现这一点
谢谢
最佳答案
<bean id="s3Service" class="com.myorg.sparrow.business.xml.persist.S3Service">
<constructor-arg ref="awsCredentials" />
<constructor-arg value="Document" /> // We love Spring because it is simpler than we expect
<constructor-arg value="${com.myorg.sparrow.s3EnvironmentConfiguration.S3EnvironmentConfigurator-destBucketName}" />
</bean>
关于java - Spring:如何在 Spring 配置中注入(inject) ENUM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13030974/