@Bean不适用于字段

时间:2017-12-03 17:47:25

标签: java spring spring-mvc intellij-idea

我正在学习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不适用于字段。

任何?

1 个答案:

答案 0 :(得分:1)

您不能将Bean声明为字段。

相反,你应该有类似的东西:

@Bean
public CsvOutputGenerator csvOutputGenerator() {
    return new CsvOutputGenerator();
}

对应于:

<bean id="CsvOutputGenerator" class="com.mkyong.output.impl.CsvOutputGenerator" />

实际上,应该将实例化的Java对象声明为Bean,然后此对象可用于其他bean中的Autowire。