bean和IOC

spring容器的最基本的接口就是BeanFactory,负责配置 创建 管理bean.

bean是spring中对象实体,bean交给spring管理,这是spring的IOC功能,管理bean的生命周期

**生命周期**就是bean从创建到销毁这段步骤
复制代码

bean本身不感知容器, 不实现aware接口的bean对象与容器解耦合,这样不仅可以使用spring容器,也可以使用googleGuice容器

以下实现了spring aware接口的一些实现接口

BeanNameAware
beanFactoryAware等
BeanClassloaderAware
复制代码

PS:测试须知,目标Bean只需要实现接口,bean启动装配的时候,会自动调用目标set属性方法.

本地测试代码20190713 com.bat.bean

有几点需要注意

1.实例化Bean的方法有几种 1.用创建的容器Getbean注入2.@autoWrid/@resource实现自动注入区别是Autowired可以注解在setter/引用类型的属性/构造方法,而Resource只能注解在属性上**注意**如果被注解在构造上,即使没有Bean的配置,也会调用构造方法注解在属性上就不用set方法了注解在set上会使用ByType寻找Bean首先ByName寻找Bean,找不到ByType,类型太多,必须使用@Qualifier("bean_id")
4.创建容器有几种方式ApplicationContext2.如何理解bean的生命周期3.懒加载:@Lazy可以注解在bean属性或者类上
复制代码

转载于:https://juejin.im/post/5d31c7dbf265da1bb56532d5

第一篇博客 记录自己对spring bean的理解相关推荐

  1. 我的第一篇博客-记录我此刻的心情以及开通CSDN博客的感受

    我人生的点滴--就从这篇博客开始谈起吧! 很早之前,我就幻想着能够有一种像日记这样的东西来记录我生活的点点滴滴,曾经试过采用电脑记事本来进行记录,但每一次都不了了之,具体原因,我也说不太清楚!不知从什 ...

  2. 第一篇博客记录下自己刚学习的问题

    Flex(弹性盒)在整个移动端写完以后,会出现一种情况,如果footer内的元素超出footer高度移动端底部滑动会出现缝隙,这个问题在我写移动端的时候出现了3次:第一次请教的老师,给说了解决方法,具 ...

  3. 学习日志:第一篇博客

    小郝的第一篇博客 记录自己未来学习的过程--自我认知 文章目录 小郝的第一篇博客 一.做出改变 二.自我介绍 三.具体实现 四.总结 一.做出改变 在很久之前就有写博客这个想法,但一直没有付诸行动,疫 ...

  4. 蒟蒻的第一篇博客CF1041C Coffee Break(二分+贪心+set)

    CF1041C Coffee Break(二分+贪心+set) 描述 Recently Monocarp got a job. His working day lasts exactly mm min ...

  5. “Hello, my first blog”------第一篇博客的仪式感

    本人在校大学生一枚,开通博客,主要是想记录自己的学习过程,分享自己的学习经历.记得大一的时候,很多不懂的操作和知识,都是在博客上找到了相应的解决办法.但比较讽刺的是,很多时候,曾经解决了的问题,当再次 ...

  6. 第一篇博客——自我介绍篇

    首先介绍下自己.我来自山东理工大学,专业为矿业工程,是一名非科班专业应届毕业生. 这是我的第一篇博客.之前从来没接触过博客,一直都是在笔记本记录,沾边一点的也就是发发朋友圈.今天是我写博客的第一天,从 ...

  7. 人生第一篇博客,欢迎大佬莅临指导!

    前话 大家好 ,这是我的第一篇博客 ,我今年是一名大二的学生 ,今年21岁, 最近听到许多程序员有写博客的想法 ,所以我就有了突发奇想,准备开始写博客.记得我大一开学的时候 我申请了一个公众号:计算机 ...

  8. C博客作业00--我的第一篇博客

    这个作业属于哪个班级 C语言–网络2011/2012 这个作业的地址 C博客作业00–我的第一篇博客 这个作业的目标 学习Makdown语法,对本专业及C语言课程有个简单了解,记录自学慕课视频的笔记. ...

  9. 第一篇博客------自我介绍

    目录 自我介绍 编程目标 如何编程 希望进入的公司 自我介绍:       Hello!!!我是一名即将步入大二的计算机小白. 小白 姓名:###(三个字) 性别:男 年龄:大二(大概也就0--100 ...

最新文章

  1. conda create -n python 3.6_conda创建python环境
  2. [Asp.net]使用flexpaper+swftools大文件分页转换实现在线预览
  3. 如何判断字符串所用何种加密编码
  4. BZOJ1857:[SCOI2010]传送带——题解
  5. 一图详解清华北大各学科全球权威排名
  6. sharepoint 添加解决方案 遇到的问题
  7. 本周进步要点(第3周1.9--1.15)
  8. Spring data Jpa,Mybatis,读写锁,@Lock 使用
  9. 4-2017-12-2-2约瑟夫环
  10. 计算机科学家图灵,伟大的计算机科学家图灵
  11. js复制 兼容浏览器
  12. 新手php环境一键安装包,PHP运行环境一键安装包(phpStudy2013)
  13. 人工智能常用的编程语言
  14. android 图片大小控制,Android实现通过手势控制图片大小缩放的方法
  15. Word文档如何压缩
  16. vue3+ts 实现防抖功能
  17. 现金流中文版免CD提示补丁
  18. 摄像头 SONY VISCA 协议
  19. 格局打开,外贸牛人的价格谈判策略!
  20. libusb系列-007-Qt下使用libusb1.0.26源码

热门文章

  1. C++实现LRU算法(LeetCode 146 LRU缓存机制)
  2. LeetCode 1035 不相交的线
  3. 单字节字符集,多字节字符集,Unicode
  4. c++interesting转换为uint_能让手机电脑“小屏变大屏”的神奇转换器,到底是个什么玩意儿?...
  5. adb ps shell 查看进程,如何使用ADB命令检测正在运行的应用程序
  6. 【codevs5709】01背包
  7. NYOJ242 - 计算球体积
  8. android控件的touch事件_聊聊Android嵌套滑动
  9. JavaScript文档对象模型DOM节点操作之复制节点(7)
  10. php文本框清除格式,php如何清除HTML格式