@BEAN不适用于字段



我正在学习春天,做mkyong的教程,我陷入了春季di-http://www.mkyong.com/spring/spring/spring-di--via-setter-方法/.

试图将其更改为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不适用于字段。

有人吗?

您无法将其声明为Bean字段。

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

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

是:

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

实际上,应将实例化的Java对象声明为bean,然后将其在其他bean中可用于自动。

最新更新