[问题] 请问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