Ich möchte @ inject verwenden, um eine Bean zu injizieren, die einen parametrisierten Konstruktor hat. Während des Injizierens muss ich den Parameter an die Bean übergeben. Um es klar zu erklären.Java-Injektion - wie man eine Bean mit parametrisierten Konstruktor injizieren
Klasse 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;
}
..
..
}
Class B, wo bean der Klasse A hat zu injizierenden:
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);
}
..
..
}
in der Klasse B, die Bohne A hat lokal genutzt werden in vielen Methoden. Ich hoffe, dass diese Code-Schnipsel helfen, mein Problem zu verstehen. Ich bin neu in Spring und Java Dependency Injection. Unsere Anwendung hat keine Spring-Abhängigkeit und daher ist @inject die einzige Möglichkeit, dies zu tun.
Vielen Dank im Voraus.
Ihr A scheint ein Domain-POJO zu sein, es wird keinen Vorteil haben, ein Spring-verwaltetes Objekt zu erstellen. Warum instanziieren Sie es nicht über 'new'? – kryger