怎么在网站里做宣传,怎样建设淘客网站,收费网站方案,环保网站模板 html目录
Bean的初始化和销毁方法配置 Bean的初始化和销毁方法配置 扩展 Bean的实例化 Bean的初始化和销毁方法配置 当lazy-init设置为true时为延迟加载#xff0c;也就是当Spring容器加载的时候#xff0c;不会立即创建Bean实例#xff0c;等待用到时再创建Bean实例并存储到单…
目录
Bean的初始化和销毁方法配置 Bean的初始化和销毁方法配置 扩展 Bean的实例化 Bean的初始化和销毁方法配置 当lazy-init设置为true时为延迟加载也就是当Spring容器加载的时候不会立即创建Bean实例等待用到时再创建Bean实例并存储到单例池中后续在使用Bean直接从单例池获取即可本质上Bean还是单例的 bean iduserDao namedao classcom.xfy.dao.Impl.UserDaoImpl lazy-inittrue /bean Bean的初始化和销毁方法配置 Bean在被实例化后可以执行指定的初始化方法完成一些初始化的操作Bean在销毁之前也可以执行指定的销毁方法完成一些操作 bean iduserDao namedao classcom.xfy.dao.Impl.UserDaoImpl lazy-inittrue init-methodinit destroy-methoddestroy /bean public class UserDaoImpl implements UserDao{public UserDaoImpl() {System.out.println(UserDaoImpl无参方法执行);}public void init(){System.out.println(初始化完成);}public void destroy(){System.out.println(快销毁了);}public void run() {System.out.println(run》》》》》》);}
} 扩展 除此之外我们还可以通过实现InitializingBean接口完成一些Bean初始化操作 package com.xfy.dao.Impl;import com.xfy.dao.UserDao;
import org.springframework.beans.factory.InitializingBean;public class UserDaoImpl implements UserDao,InitializingBean{public UserDaoImpl() {System.out.println(UserDaoImpl无参方法执行);}public void init(){System.out.println(初始化完成);}public void destroy(){System.out.println(快销毁了);}public void run() {System.out.println(run》》》》》》);}
//在属性设置之后public void afterPropertiesSet() throws Exception {System.out.println(afterPropertiesSet.....);}
} Bean的实例化 bean iduserDao namedao classcom.xfy.dao.Impl.UserDaoImpl lazy-inittrue
!-- 构造参数--constructor-arg namename valuexfy/constructor-arg/bean//有参构造方法public UserDaoImpl(String name) {System.out.println(UserDaoImpl无参方法执行);}//默认为无参构造方法 工厂方法实例化底层通过调用自定义的工厂方法对Bean进行实例化 静态工厂方法实例化Bean
bean iduserDao1 classcom.xfy.factory.MyBeanFactory1 factory-methoduserDao/bean package com.xfy.factory;import com.xfy.dao.Impl.UserDaoImpl;
import com.xfy.dao.UserDao;public class MyBeanFactory1 {public static UserDao userDao(){
// Bean创建之前可以进行一些其它操作return new UserDaoImpl();}
}有参bean iduserDao1 classcom.xfy.factory.MyBeanFactory1 factory-methoduserDaoconstructor-arg namename valuexfy/constructor-arg/bean 实例工厂方法实例化Bean package com.xfy.factory;import com.xfy.dao.Impl.UserDaoImpl;
import com.xfy.dao.UserDao;
//实例化工厂方法
//与静态工厂方法不同的是实例化工厂调用方法的前提是要有一个实例化的对象调用非静态方法
public class MyBeanFactory2 {public UserDao userDao(){
// Bean创建之前可以进行一些其它操作return new UserDaoImpl();}
} !-- 实例化一个对象--bean classcom.xfy.factory.MyBeanFactory2 idbeanFactory2/bean
!-- 实现实例化工厂--bean iduserDao2 factory-beanbeanFactory2 factory-methoduserDao/bean