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

时间:2016-03-16 13:18:37

标签: spring

我在java中有以下代码:

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



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

我想更改构造函数,以便我根本不需要编写构造函数,而只要创建A的对象,spring配置就直接执行。我是春天新手,不知道如何继续。

1 个答案:

答案 0 :(得分:0)

您可以使用Autowired注释利用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();
}