Spring 弹簧&x27;s自动连线和初始化Bean
目前,我在所有Spring组件/配置/服务类上都采用了以下“模式”:Spring 弹簧&x27;s自动连线和初始化Bean,spring,autowired,Spring,Autowired,目前,我在所有Spring组件/配置/服务类上都采用了以下“模式”: @Component final class SomeComponent implements InitializingBean { private SomeBean someBean; @Autowired public SomeComponent(SomeBean someBean) { this.someBean = someBean; } @Override public void
@Component
final class SomeComponent implements InitializingBean {
private SomeBean someBean;
@Autowired
public SomeComponent(SomeBean someBean) {
this.someBean = someBean;
}
@Override
public void afterPropertiesSet() throws Exception {
Assert.state(someBean != null, "SomeBean should not be null.");
}
public void someMethod() {
someBean.doSomething();
}
}
我真的应该实现这样的事情吗?或者如果我只是通过做无意义的断言来增加初始化时间?Spring是否保证注入bean的无效性?文档中说: 默认情况下,只要没有可用的候选bean,自动连接就会失败;默认行为是将带注释的方法、构造函数和字段视为指示所需的依赖项 所以是的,你在做毫无意义的断言。顺便说一句,您可以直接在构造函数中执行这些断言,或者至少在@PostConstruct注释的方法中执行这些断言,而不必重写InitializingBean