共计 829 个字符,预计需要花费 3 分钟才能阅读完成。
第二天代码:
/**
* FAQ?
* 1)如果将此类交给 spring 治理,请问默认 spring 何时创立此对象?你怎么晓得的?* 2)如果一个对象创立当前,存储到内存,长时间不必会有什么影响?* 3)你晓得 Spring 中,Bean 对象的提早加载个性吗?(理解)
* 4)你晓得什么场景下这个对象适宜提早加载吗?大对象,稀少用。* 5)对象创立当前,利用完结要销毁对象吗?* 6)程序中的每个对象都有生命周期(正确),不见得每个对象都有生命周期办法。*/
@Scope("prototype") // 每次从 spring 容器获取对象都会创立一个新的实例
//@Scope("singleton")// 默认就是单例作用域(这个类的实例在一个 spring 容器中默认只有一份)
//@Lazy(false)// 默认为 true
//@Lazy(true)// 此注解用于通知 spring 框架,它形容的类的实例,如果临时用不到,就不要先创立。//@Lazy(value=true)
@Component
public class ObjectPool {
/** 构建对象时会执行对象的构造函数 */
public ObjectPool() {System.out.println("ObjectPool()");
}
/**@PostConstruct 注解形容的办法会在对象构建当前执行,用于执行一些初始化操作 */
@PostConstruct
public void init() {System.out.println("init()");
}
/**@PreDestroy 注解形容的办法会在单例对象销毁之前执行,spring 容器在销毁之前
* 会先将容器 (Bean 池) 中的对象进行移除,在移除对象时,如果对象中定义了生命周期销
* 毁办法,此时还会调用对象的生命周期销毁办法(在这样的办法中能够做一些资源开释操
* 作)。* */
@PreDestroy
public void close() {System.out.println("close()");
}
}
正文完
发表至: springboot
2020-10-06