2016-07-22 1 views
1

@inject를 사용하여 매개 변수화 된 생성자가있는 빈을 삽입하려고합니다. 주입하는 동안 나는 빈에 매개 변수를 전달해야합니다. 명확하게 설명하기.자바 인젝션 - 매개 변수화 된 생성자로 빈을 주입하는 법

클래스 A :

public class A{ 
    private String name; 
    private String id; 
    private int age; 

    public A(Student student){ 
    name = student.getName(); 
    id = student.getId(); 
    age = student.getAge(); 
    } 

    public String getName(){ 
    return Name; 
    } 

    .. 

    .. 

} 

클래스 B 클래스 A의 빈이 가지고 주입된다 :

public class B{ 

    @inject private Student student; 

    //how to inject the below passing student value 
    @inject private A a; // new A(student); 

    public getNameAndAge(){ 
     String name = a.getName(); 
     int age = a.getAge(); 
     System.out.println(name); 
    } 

    public sendDetails(){ 
    sendInWebService(a); 
    } 

    .. 
    .. 

} 클래스 B에서

, 빈 A는 국부적으로 이용되어야 많은 방법에서. 이 코드 스 니펫이 내 문제를 이해하는 데 도움이되기를 바랍니다. 나는 스프링과 자바 의존성 주입에 익숙하지 않다. 우리의 어플리케이션에는 Spring 의존성이 없으므로 @inject가이를 수행 할 수있는 유일한 옵션입니다.

미리 감사드립니다.

+0

당신의 A가 POJO 도메인 인 것처럼 보입니다. Spring 관리 객체를 만들면 아무런 이점이 없습니다. 왜 'new'를 통해 그것을 인스턴스화하지 않습니까? – kryger

답변