如果spring annotation
不能通过默认构造函数使用,我们是否有component
提供了一个初始化bean(不是autowiring
)的选项?
如果是,那就太好了。我已经厌倦了使用默认构造函数在某些配置类中初始化bean并占用了空间。
我目前正在这样做
@Bean
public Test test() {
return new Test();
}
期望:
有时像:
@Autowire(initMethodType=constructor)
private Test test:
如果没有,那么真的不需要这种注释或任何技术限制吗?
答案 0 :(得分:1)
您必须在@Bean
类内使用@Configuration
注释。
检查以下链接
https://docs.spring.io/spring-javaconfig/docs/1.0.0.M4/reference/html/ch02s02.html
@Configuration
public class AppConfig {
@Bean
public TransferService transferService() {
return new TransferServiceImpl();
}
}
答案 1 :(得分:0)
您可以使用@Component
注释您的班级,就像这样:
@Component
public class Test {
...
}
在需要该类的任何地方,您都可以将其自动连线:
@Autowired
private Test test;
您只需要确保使用@ComponentScan
来拾取该bean。您可以在here上找到更多信息。