Spring注解在Autowire期间初始化bean

时间:2018-10-10 13:13:47

标签: spring spring-bean

如果spring annotation不能通过默认构造函数使用,我们是否有component提供了一个初始化bean(不是autowiring)的选项?

如果是,那就太好了。我已经厌倦了使用默认构造函数在某些配置类中初始化bean并占用了空间。

我目前正在这样做

@Bean
public Test test() {
    return new Test();
}

期望:

有时像:

@Autowire(initMethodType=constructor)
private Test test:

如果没有,那么真的不需要这种注释或任何技术限制吗?

2 个答案:

答案 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上找到更多信息。