Spring注解目录
Spring注解目录树包括了许多的spring相关注解的解释和应用。
概述
@scope注解主要是定义容器的作用域,告诉容器的作用范围。
主要有:
SCOPE_SINGLETON(单例模式):全局只会有一个实例,也是默认是模式。
SCOPE_PROTOTYPE(多例模式):每一个请求都会创建一个实例。
示例
首先创建一个新的实例类,定义一个容器person,告诉容器person的名字和年龄。默认不写Scope就是SCOPE_SINGLETON模式,即单例模式。
@Bean("person")
@Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON)
public Person person(){
System.out.println("创建实例张三");
return new Person("张三","18");
}
在测试类当中,创建2个person对象,测试这两个对象是否是同一个。
Object person = applicationContext.getBean("person");
Object person2 = applicationContext.getBean("person");
可以看到,结果是只有一个实例,在容器当中。
那么如果使用SCOPE_PROTOTYPE,就会创建多个实例。
@Bean("person")
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public Person person(){
System.out.println("创建实例张三");
return new Person("张三","18");
}
可以看见,使用多少个实例的请求,就会创建多少个实例,所以此时创建了两个实例了。
以目录树
为参考,包括了@scope之前的注解demo