作者pttnews (PTT新聞)
看板java
標題[問題] 請問Spring 的javaConfig
時間Mon May 18 14:22:36 2015
我有一個spring.xml 如下
<beans xmlns=......">
<bean id="OutputHelper" class="com.mkyong.output.OutputHelper">
<property name="outputGenerator" ref="CsvOutputGenerator" />
</bean>
<bean id="CsvOutputGenerator" class="com.mkyong.output.impl.CsvOutputGenerator" />
<bean id="JsonOutputGenerator" class="com.mkyong.output.impl.JsonOutputGenerator" />
</beans>
想要改為javaConfig
如下
@Configuration
public class AppConfig {
@Bean(name="csvOutputGenerator")
public CsvOutputGenerator csvOutputGenerator() {
return new CsvOutputGenerator();
}
@Bean(name="jsonOutputGenerator")
public JsonOutputGenetator jsonOutputGenerator() {
return new JsonOutputGenetator();
}
@Bean(name="outputHelper")
public OutputHelper outputHelper() {
return new OutputHelper();
}
}
OutputHelper.java 如下
public class OutputHelper
{
IOutputGenerator outputGenerator;
public void setOutputGenerator(IOutputGenerator outputGenerator){
this.outputGenerator = outputGenerator;
}
}
但是 <property name="outputGenerator" ref="CsvOutputGenerator" />
不知道要怎麼改?
謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 58.130.152.137
※ 文章網址: https://www.ptt.cc/bbs/java/M.1431930159.A.9C8.html
→ yotsuba1022: 這篇我想可以給你當參考: 05/18 22:29
→ yotsuba1022: ws-springjava/ 抱歉我現在不能用縮網址QQ 05/18 22:32
→ yotsuba1022: 我想說的是, 除了這種作法之外, 你也可以考慮用 05/18 22:32
→ yotsuba1022: @Autowired, @Component, @ComponentScan 05/18 22:33
→ yotsuba1022: 這幾個Annotation來達到同樣的效果 只是有牽扯到 05/18 22:33
→ yotsuba1022: Object Dependency的時候要記得把關係寫好即可 05/18 22:34
推 yyc1217: return new OutputGenerator(csvOutputGenerator()); 05/19 00:04
→ yyc1217: 或是new完後,接setCsvOutputGenerator(csvOutput...()); 05/19 00:05
→ pttnews: 謝謝y大指導 05/19 13:48
→ pttnews: 謝謝兩位 y大 指導 05/19 13:49
※ 編輯: pttnews (101.13.2.228), 09/11/2015 16:53:02