Spring:如何用注解替换Constructor-arg?
我想用注释替换XML applicationContext配置。
如何用固定的构造函数参数替换简单的bean?
范例:
<bean id="myBean" class="test.MyBean"> <constructor-arg index="0" value="$MYDIR/myfile.xml"/>
<constructor-arg index="1" value="$MYDIR/myfile.xsd"/>
</bean>
我正在阅读有关@Value的一些解释,但我不太了解如何传递一些固定值…
部署Web应用程序时是否可以加载此bean?
谢谢。
回答:
我认为您所追求的是:
@Componentpublic class MyBean {
private String xmlFile;
private String xsdFile;
@Autowired
public MyBean(@Value("$MYDIR/myfile.xml") final String xmlFile,
@Value("$MYDIR/myfile.xsd") final String xsdFile) {
this.xmlFile = xmlFile;
this.xsdFile = xsdFile;
}
//methods
}
您还可能希望通过系统属性来配置这些文件。您可以使用@Value
注释通过PropertyPlaceholderConfigurer
和${}
语法读取系统属性。
为此,您可以String
在@Value
注释中使用不同的值:
@Value("${my.xml.file.property}")@Value("${my.xsd.file.property}")
但您还将在系统属性中需要以下属性:
my.xml.file.property=$MYDIR/myfile.xmlmy.xsd.file.property=$MYDIR/myfile.xsd
以上是 Spring:如何用注解替换Constructor-arg? 的全部内容, 来源链接: utcz.com/qa/427972.html