不确定这是否与弹簧有关:
我有一个像这样的bean类
class BeanClass {
private ServiceA serviceA;
private ServiceB serviceB;
public BeanClass() {}
public void setServiceA(ServiceA serviceA) {
this.serviceA = serviceA;
}
public void setServiceB(ServiceB serviceB) {
this.serviceB = serviceB;
}
public void callService() {
serviceA.a();
serviceB.b();
}
}
及其配置:
<bean id="beanClass" class="BeanClass">
<property name="serviceA" ref="serviceA"/>
<property name="serviceB" ref="serviceB"/>
</bean>
但我在控制器类中使用new关键字实例化bean:
class ControllerClass {
public void someMethod() {
BeanClass beanClass = new BeanClass();
beanClass.callService();
}
}
我的问题是ServiceA和ServiceB如何正确实例化?因为我使用new来获得一个类对象,并且从不设置它的字段成员。
答案 0 :(得分:1)
你不想这样做:
BeanClass beanClass = new BeanClass();
简而言之,就是Spring的IOC容器的重点。您应该让IOC容器为您提供对BeanClass的引用
@Autowired
BeanClass myBeanClass;
*这还不完全,因为您需要为控制器额外接线。