在Spring中连接相互依赖的bean,可以使用以下方法:
@Component
public class BeanA {
private final BeanB beanB;
public BeanA(BeanB beanB) {
this.beanB = beanB;
}
}
@Component
public class BeanB {
private final BeanC beanC;
public BeanB(BeanC beanC) {
this.beanC = beanC;
}
}
@Component
public class BeanC {
}
@Component
public class BeanA {
private BeanB beanB;
@Autowired
public void setBeanB(BeanB beanB) {
this.beanB = beanB;
}
}
@Component
public class BeanB {
private BeanC beanC;
@Autowired
public void setBeanC(BeanC beanC) {
this.beanC = beanC;
}
}
@Component
public class BeanC {
}
@Component
public class BeanA {
private final BeanB beanB;
public BeanA(@Lazy BeanB beanB) {
this.beanB = beanB;
}
}
@Component
public class BeanB {
private final BeanC beanC;
public BeanB(BeanC beanC) {
this.beanC = beanC;
}
}
@Component
public class BeanC {
}
在这些方法中,构造函数注入和setter方法注入都是常用的方法,而@Lazy注解则是一种优化方法,用于延迟初始化bean。
领取专属 10元无门槛券
手把手带您无忧上云