一.scop
scope用来配置bean对象是否是单例模式。单例模式是java的二十三种设置模式之一,指在这个项目运行过程中一
个类的对象只会实例化一次。一般,工厂类的对象都是单例模式。非单例模式叫多例模式或者原型模式。
spring工厂中的对象默认都是单例模式,如果我们想把对象配置成多例模式,可以配置bean的scope属性,scope
常用的有两个取值 :
singleton 默认值 单例模式
prototype 原型模式 多例模式
单例模式下,对象是在工厂初始化的时候创建的。多例模式是在工厂初始化之后,获取对象的时候创建的。
applicationContext:
![](https://img2018.cnblogs.com/blog/1602834/201905/1602834-20190520164837258-845843906.png)
测试类:
/** * bean的scope属性 */ public class Test02 { public static void main(String[] args) { //创建spring的工厂类的对象 ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); System.out.println("工厂类初始化好了"); //从工厂中获取对象 E470 e4701 = (E470)context.getBean("e470"); E470 e4702 = (E470)context.getBean("e470"); //判断e4701和e4702是否同一对象可以使用==号 System.out.println(e4701==e4702); } }
二.autowire
autowire用来配置spring对象属性的默认的装配方式。有三个取值
no: 默认值 不启用自动装配
byType :根据类型自动装配
![](https://img2018.cnblogs.com/blog/1602834/201905/1602834-20190520165115894-1374719004.png)
byName: 根据名称自动装配,一般bean的name如果不声明 默认值取的就是id