我有一个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配置文件中注入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>
我如何注入此值
<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>