@Scope注解
1.作用
@Scope注解用来调节作用域。
2.属性
prototype:创建的对象为多实例,ioc容器启动时不会创建对象,只有在调用时候才会创建对象添加到容器中。
singleton:创建的对象为单实例,ioc容器启动时会创建对象添加到容器中。
request:同一次请求创建一次对象。
session:同一次session创建一次对象。
3.示例
@Configuration
public class MainConfig1 {
/**
* 四个属性:
* prototype:创建的对象为多实例,ioc容器启动时不会创建对象,只有在调用时候才会创建对象添加到容器中。
* singleton:创建的对象为单实例,ioc容器启动时会创建对象添加到容器中。
* request:同一次请求创建一次对象。
* session:同一次session创建一次对象。
*/
@lazy
@Scope("prototype")
@Bean("xiaoming")
public Person person() {
return new Person("小明",12);
}
@Lazy注解
1.作用
懒加载:单实例bean:默认在容器启动时创建对象,使用@Lazy注解在容器启动的时候不会创建对象。在第一次调用的时候创建bean对象,如上示例。