spring中的scope="prototype"和scope="singleton"


1,scope="singleton"
这里指的是在创建该bean(组件)时 ,只会创建一次其他都为该对象的引用(即 A a = new A ,其余的都是 A c = a ;)
代码如下: 在Demo和Student两个类中都引用了school这个类 该bean的scope="singleton" ,并在两个引用school的类中的toString方法中分别添加了:输出hashcode值!


Demo中的toString:


Student中的toString:

测试代码:

控制台输出:

发现两个hashcode值一样,也印证了(即 A a = new A ,其余的都是 A c = a ;)的猜想!

2,将scope="prototype"
控制台输出如下:

发现两个hashcode值不一样,根据上面也就可以理解为(即 A a = new A , A c = new A ;)

**结尾**:大家多加油,未来可期!有错误还望指正!!

相关