Spring如何实例化这个类及其依赖

时间:2012-05-03 19:18:09

标签: spring

不确定这是否与弹簧有关:

我有一个像这样的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来获得一个类对象,并且从不设置它的字段成员。

1 个答案:

答案 0 :(得分:1)

你不想这样做:

BeanClass beanClass = new BeanClass(); 

简而言之,就是Spring的IOC容器的重点。您应该让IOC容器为您提供对BeanClass的引用

@Autowired
BeanClass myBeanClass;

*这还不完全,因为您需要为控制器额外接线。