#
Spring框架是一个资源管理整合框架,能够将本人写的对象或者是第三方提供的对象(连接池等)整合到一起。
咱们在应用Spring的bean对象时,会遇到两种状况:一是这个对象咱们会用到很屡次,频繁的应用,Spring提供了懒加载(@Lazy)策略,必须跟作用域singleton联结应用,这种状况下,会把这个对象存到bean池中,内存中只有一份,并且始终存在,直到bean池销毁;二是这个对象咱们可能只会用到一次或者是寥寥几次,这个时候就没有必要让他始终存在到内存中,能够将作用域设置为prototype,在每次调用的时候创立一次 ,用完销毁。
因而,应用Spring治理bean对象能够实现对象对资源的无效应用。
#相干注解
@Lazy -- 用于形容类,用来通知spring此类能够反对提早加载,通常配合作用域singleton应用
@Scope -- 用于定义作用域,默认是singleton,当定义为prototype时,每次获取对象都会创立一个新的实例,并且不会交给spring治理,spring能够对它进行初始化,但不能销毁。
@PostConstruct注解用于形容bean对象生命周期办法中的初始化办法,此办法会在对象的构造方法之后执行(是对象创立当前的初始化)。
@PreDestroy注解用于形容Bean对象生命周期办法中的销毁办法,此办法会在对象销毁之前执行(当作用域为prototype时,此办法不会执行)。