如何使用spring框架初始化类构造函数中的对象?

如何使用spring框架初始化类构造函数中的对象?,spring,Spring,我有以下java代码: public class A{ private B b; private C c; public A(){ b=new B(); c=new C(); c.foo(d,e); } } 我想更改构造函数,这样我就根本不需要编写构造函数,而是在创建对象时,spring配置直接执行。我是spring新手,不知道如何继续。您可以利用spring的依赖注入特性和自动连线注释。但必须清楚的是,在这种情况下,所有涉及的类实例都是

我有以下java代码:

public class A{
    private B b;
    private C c;



 public A(){
    b=new B();
    c=new C();
    c.foo(d,e);
    }
}

我想更改构造函数,这样我就根本不需要编写构造函数,而是在创建对象时,spring配置直接执行。我是spring新手,不知道如何继续。

您可以利用spring的依赖注入特性和自动连线注释。但必须清楚的是,在这种情况下,所有涉及的类实例都是单例

@Component
public class B {
}

@Component
public class C {

    @PostConstruct
    public void foo() {
    }
}

@Component
public class A{

    @Autowired
    private B b;

    @Autowired
    private C c;
}
如果这不是您想要的,那么Spring不是这个用例的合适工具。要摆脱
A
中的构造函数,可以使用纯Java:

public class B {
}


public class C {

    public C() {
       foo();
    }

    public void foo() {
    }
}

public class A{

    private B b = new B();

    private C c = new C();
}

您可以利用Spring的依赖项注入特性和自动连线注释。但必须清楚的是,在这种情况下,所有涉及的类实例都是单例

@Component
public class B {
}

@Component
public class C {

    @PostConstruct
    public void foo() {
    }
}

@Component
public class A{

    @Autowired
    private B b;

    @Autowired
    private C c;
}
如果这不是您想要的,那么Spring不是这个用例的合适工具。要摆脱
A
中的构造函数,可以使用纯Java:

public class B {
}


public class C {

    public C() {
       foo();
    }

    public void foo() {
    }
}

public class A{

    private B b = new B();

    private C c = new C();
}