Wenn ich versuche @ Scope ("Prototyp") über eine Klasse zu verwenden, sehe ich, dass es sich ähnlich wie "Singleton" verhält. Ich bin mir nicht sicher, wo ich falsch liege. Jede Hilfe wird sehr geschätzt.@Scope - Spring - Einstellung "Prototyp" mit Anmerkungen, verhält sich wie Singleton. Wo gehe ich falsch?
Employee-Klasse - Einstellung scope - Prototyp
import org.springframework.context.annotation.Scope;
@Scope("prototype")
public class Employee {
private String emp_name;
public String getEmp_name() {
return emp_name;
}
public void setEmp_name(String emp_name) {
this.emp_name = emp_name;
}
}
Abteilung Rahmen klassen Einstellung - Singleton
import org.springframework.context.annotation.Scope;
@Scope("singleton")
public class Department {
private String dep_name;
public String getDep_name() {
return dep_name;
}
public void setDep_name(String dep_name) {
this.dep_name = dep_name;
}
}
beans.xml
<context:component-scan base-package="com"/>
<!-- Scope Annotations -->
<bean id="dep_scope" class="com.scope.annotation.Department" >
</bean>
<bean id="emp_scope" class="com.scope.annotation.Employee" >
</bean>
Haupt App
public class MainApp {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");
Employee emp = (Employee) context.getBean("emp_scope");
emp.setEmp_name("Saro");
System.out.println("first"+emp.getEmp_name());
Employee emp2 = (Employee) context.getBean("emp_scope");
System.out.println("second"+emp2.getEmp_name());
Department dep = (Department) context.getBean("dep_scope");
dep.setDep_name("Maths");
System.out.println("first"+dep.getDep_name());
Department dep2 = (Department) context.getBean("dep_scope");
System.out.println("second"+dep2.getDep_name());
}
}
Ausgang:
firstSaro secondSaro firstMaths secondMaths
I expected secondnull instead of secondSaro
Wo haben Sie die Annotation-Scan-Direktive? – Jens
nur versuchen, Umfang in beans.xml Datei in Bean-Tag zu definieren .... Sie beide Annotation und XML verwenden ... nur entweder verwenden .... es –
@Jens kann helfen, habe ich den in meiner beans.xml, verpasse das gleiche hier, bearbeite meinen Beitrag jetzt. Bitte helfen Sie mit. –
Sarronya