我测试了 bean 的范围及其在不同情况下的行为,我想测试具有单例范围并包含具有原型范围的依赖项的 bean 如何具有不同的依赖对象。 我有两个豆子。第一个bean包含第二个bean
第一豆:
@Component
public class FirstBean {
private SecondBean secondBean;
public SecondBean getSecondBean() {
return secondBean;
}
@Autowired
public void setSecondBean(SecondBean secondBean) {
this.secondBean = secondBean;
}
}
Secondbean 是 First bean 的依赖项。它不包含任何逻辑
@Component
@Scope(value = "prototype",proxyMode = ScopedProxyMode.TARGET_CLASS)
public class SecondBean {
}
我有使用 bean 的演示课
public class DemoApp {
public static void main(String[] args) {
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(Config.class);
FirstBean firstBean = applicationContext.getBean(FirstBean.class);
FirstBean firstBean1 = applicationContext.getBean(FirstBean.class);
SecondBean secondBean = firstBean.getSecondBean();
SecondBean secondBean1 = firstBean1.getSecondBean();
System.out.println(secondBean);
System.out.println(secondBean1);
System.out.println(secondBean==secondBean1);
}
}
那么为什么他们引用了一个对象,但他们的哈希码却不同?