Вы можете сделать это с помощью впрыска конструктора. 3 основных способа сделать это:
XML:
<bean id="beanA" class="com.BeanA">
<constructor-arg ref="beanB"/>
</bean>
<bean id="beanB" class="com.BeanB"/>
JavaConfig:
@Configuration
public class MyConfig {
@Bean
public BeanA beanA() {
return new BeanA(beanB());
}
@Bean
public BeanB beanB() {
return new BeanB();
}
}
автоматического связывание:
@Component
public class BeanA {
private final BeanB beanb;
// This assumes that there is a BeanB in your application context already
@Autowired
public BeanA(final BeanB beanB) {
this.beanB = beanB;
}
}
Вы можете взять автоматическое связывание еще дальше, и провод непосредственно к Поле:
@Component
public class BeanA {
// This assumes that there is a BeanB in your application context already
@Autowired
private final BeanB beanb;
}
Я думаю, что это сложнее, чем добавление метода сеттера. На самом деле то, что я хочу, это простой способ опустить ненужный код. – Anderson
Используйте '@ Autowired' на частном поле, затем (последний пример здесь) – kryger