Bar*_*ado 1 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();
}
Run Code Online (Sandbox Code Playgroud)
CsvOutputGenerator.java:
public class CsvOutputGenerator.java implements IOutputGenerator{
public void generateOutput(){
System.out.println("CSV Output gen");
}
}
Run Code Online (Sandbox Code Playgroud)
AppConfig.java:
@Configuration
public class AppConfig{
@Bean
public CsvOutputGenerator csvOutputGenerator;
}
Run Code Online (Sandbox Code Playgroud)
IntelliJ 将这个“@Bean”注释突出显示为错误的消息:@Bean 不适用于字段。
任何人?
您不能声明为Bean字段。
相反,你应该有类似的东西:
@Bean
public CsvOutputGenerator csvOutputGenerator() {
return new CsvOutputGenerator();
}
Run Code Online (Sandbox Code Playgroud)
这对应于:
<bean id="CsvOutputGenerator" class="com.mkyong.output.impl.CsvOutputGenerator" />
Run Code Online (Sandbox Code Playgroud)
事实上,一个实例化的 Java 对象应该被声明为 Bean,然后这个对象将可用于其他 bean 中的 Autowire。
| 归档时间: |
|
| 查看次数: |
7155 次 |
| 最近记录: |