发表于: 2017-11-11 23:35:56

1 939


今天完成的事:

1.学习Bean的生命周期

     1、调用无参构造器,创建对象;

     2、调用set方法,为属性 注入值;

     3、若实现了BeanNameAware接口,执行接口方法获取容器中id名称;

    4、若实现了BeanFactoryAware接口,执行接口方法获取BeanFactory对象;

    5、若注册了Bean后处理器BeanPostProcessor,执行接口方法before;

    6、若实现了InitializingBean接口,执行接口方法afterPropertiesSet()方法,Bean实例化结束;

    7、执行init-method;

    8、若注册了Bean后处理器BeanPostProcessor,执行接口方法after;

     9、执行业务方法;

    10、若实现了DisposableBean接口,执行接口destory方法,为销毁Bean准备;

    11、执行destory-method方法,在销毁前执行。


定制Bean生命始末,是用init-method和destory-method属性,destory-method执行时需要关闭容器,容器ApplicationContext没有关闭的方法,需要强制类型转换

     

2.设值注入:调用set方法。

    

3.构造注入:调用构造器,构造注入时可以没有无参构造器,其他情况必须有。

   

4.命名空间注入:需要在配置文件上添加约束

   <1>p注入:设值注入

    

    

  <2>c注入:构造注入

   

   

遇到的问题:

  1.对引用数据类型理解有误,导致在写设值注入时一直出问题,检查好久才发现问题

   写成了 private School school;

明天计划:

学完基于xml的DI和基于注解的DI。

收获:

Bean的生命周期只是有大致印象,还不能完全掌握。



返回列表 返回列表
评论

    分享到