spring学习(13)-bean的作用域
1、下图是小编的spring的java项目目录结构,如下图:

2、下图中代码是小编这个maven项目的pom.xml文件配置,可以看出这个项目只是用到了两个包的依赖,如下图:

3、下图是小编定义的Address类,里面有两个属性,并设置这两个属性的set,get方法,并重写toString方法用于观察,如下图:

4、在bean配置文件中配置address的bean,然后这里设置一个下【scope】属性为【singleton】,默认情况下,创建bean之后的【scope】的属性就是【singleton】, Spring 只为每个在 IOC 容器里声明的 Bean 创建唯一一个实例, 整个 IOC 容器范围内都能共享该实例,如下图:

5、下图是小编的主程序入口代码,先获取IOC容器,然后根据id获取IOC容器中指定的bean,这里获取两个bean,然后查看控制台输出结果,说明从IOC容器中两次获取的bean是同一个bean,如下图:

6、修改bean配置文件中address的bean,然后这里设置一个下【scope】属性为【prototype】,这种方式下,每次从IOC容器中获取bean都会返回一个新的bean实例,如下图:

7、下图是小编的主程序入口代码,先获取IOC容器,然后根据id获取IOC容器中指定的bean,这里获取两个bean,然后查看控制台输出结果,说明从IOC容器中两次获取的bean不是同一个bean,如下图:
