Autowired注入的变量都是单例吗?(考察的是Spring Bean的作用域)
首先,Autowired注入的变量默认情况下是单例的,但也不是绝对的。
- 为什么Autowired注入的变量默认情况下是单例的呢:因为我们知道我们使用Autowired注解是进行Spring中Bean的注入的,而Spring中Bean的默认作用域是Singleton,在Singleton作用域下,Spring中的Bean都是单例的。
- 那为什么又说不是绝对的呢:因为Spring中Bean的作用域可以通过@scope注解或是在xml文件添加scope属性修改,默认Singleton作用域是单例的,还可以修改为Prototype(每次getBean时创建一个新的Bean实例)、Requset(请求Bean)、Session(会话Bean)、Application(应用Bean)。