我正在学习Spring,做MKYong的教程,而且我被困在Spring DI中 - http://www.mkyong.com/spring/spring-di-via-setter-method/。
尝试将其更改为Java配置,但@Bean注释在主题顶部给出了错误。
IOutputGenerator.java:
public Interface IOutputGenerator{
public void generateOutput();
}
CsvOutputGenerator.java:
public class CsvOutputGenerator.java implements IOutputGenerator{
public void generateOutput(){
System.out.println("CSV Output gen");
}
}
AppConfig.java:
@Configuration
public class AppConfig{
@Bean
public CsvOutputGenerator csvOutputGenerator;
}
IntelliJ突出了我的这个" @ Bean"消息注释错误:@Bean不适用于字段。
任何?
答案 0 :(得分:1)
您不能将Bean
声明为字段。
相反,你应该有类似的东西:
@Bean
public CsvOutputGenerator csvOutputGenerator() {
return new CsvOutputGenerator();
}
对应于:
<bean id="CsvOutputGenerator" class="com.mkyong.output.impl.CsvOutputGenerator" />
实际上,应该将实例化的Java对象声明为Bean,然后此对象可用于其他bean中的Autowire。