[問題] 請問Spring 的javaConfig

作者: pttnews (PTT新聞)   2015-05-18 14:22:36
我有一個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" />
不知道要怎麼改?
謝謝~
作者: yotsuba1022 (Carl)   2015-05-18 22:29:00
這篇我想可以給你當參考:http://www.ibm.com/developerworks/library/ws-springjava/ 抱歉我現在不能用縮網址QQ我想說的是, 除了這種作法之外, 你也可以考慮用@Autowired, @Component, @ComponentScan這幾個Annotation來達到同樣的效果 只是有牽扯到Object Dependency的時候要記得把關係寫好即可
作者: yyc1217 (somo)   2015-05-19 00:04:00
return new OutputGenerator(csvOutputGenerator());或是new完後,接setCsvOutputGenerator(csvOutput...());
作者: pttnews (PTT新聞)   2015-05-19 13:48:00
謝謝y大指導謝謝兩位 y大 指導

Links booklink

Contact Us: admin [ a t ] ucptt.com