springBean的配置详解
spring开发中主要是对Bean的配置,Bean的常用配置一览如下:
Bean的别名设置,可以为当前Bean指定多个别名,根据别名也可以获得Bean对象
<bean id ="userDao" name ="aaa,bbb" class="com.spring.dao.impl.UserDaoImpl"/>
此时多个名称都可以获得UserDaoImpl实例对象
applicationContext.getBean("userDao");
applicationContext.getBean("aaa");
applicationContext.getBean("bbb");
Bean的范围配置
默认情况下,单纯的spring环境Bean的作用范围有两个:Singleton和Prototype
singleton:单例,默认值,spring容器创建的时候,就会进行Bean的实例化,并存储到容器内部的单例池中,每次getBean时都是从单例池中获取相同的Bean实例;
prototype:原型,spring容器初始化时不会创建Bean实例,当调用getBean时才会实例化Bean,每次getBean都会创建一个新的Bean实例。
Bean的延迟加载
当lazy-init设置为true时为延迟加载,也就是spring容器创建的时候,不会立即创建Bean实例,等到用到时在创建Bean实例并存储到单例池中去,后续使用该Bean直接从单例池中获取即可,本质上该Bean还是单例的
<bean id="userDao" class="com.spring.dao.impl.UserDao.Impl" lazy-init="true"/>
Bean的初始化和销毁方法配置
Bean在被实例化后,可以执行指定的初始化方法完成一些初始化的操作,Bean在销毁之前也可以执行指定的销毁方法完成一些操作,初始化方法名称和销毁方法名称通过