Bean管理学习笔记
1、BeanFactory 介绍
1.1 首先什么是Bean?
1、Bean在Spring技术中是基于组件
2、他是Spring容器管理的最基本最常见的单元。在spring的应用场合中,bean可以是数据源、java的普通类
3、其实例保存在Spring的容器中,这种方式也是spring的核心思想所在
Bean通常被定义在配置文件中,bean的实例化由spring的ioc容器进行管理。
Bean的实例可以通过beanFactory进行访问,实际上大部分的j2ee的应用,bean是通过applicationContext来访问的。ApplicationContext是beanFactory的子接口,其 功能要比beanFactory强大的多
1.2 什么是BeanFactory?
Spring容器有一个被称为beanFactory的接口,被称为spring上下文,他是产生bean的工厂,是spring依赖注入的核心。
1.3 BeanFactory的作用:
1、用于配置、创建以及管理Bean对象
2、维持Bean对象之间的依赖关系
3、负责Bean对象的生命周期
BeanFactory的常用方法
1、containsBean(string beanname) :判断是否存在某个bean对象
2、getBean(string beanname):返回bean对象
BeanFactory有很多的实现类,但通常我们使用XmlBeanFactory类
如:

2、ApplicationContext
对于J2EE程序的开发,建议使用applicationContext,他是beanFactory的子接口。
1、读取Bean定义文件
2、维护Bean之间的依赖关系
3、国际化的支持
4、资源访问
5、事件传播
6、多配置文件的加载
3、Bean定义

3.1 配置文件
1、<beans/>是Spring配置文件的根节点
2、一个<beans/>节点里面有多个<bean>节点
3.2 定义bean节点时通常要指定两个属性
1、id
2、Class
3.3 bean在Spring容器中有两种行为
1、singleton
2、non-singleton
当设置bean的行为是单例是就是单例,设置非单例时就是非单例。
4、创建Bean
4.1 Bean的查找机制
Spring容器查找某个bean对象时,首先根据bean的id查找,如果id属性不存在,则根据name属性查找,如果name属性也不存在,则会根据类的名称进行查找

4.2 Bean的别名
为了提供多个名称, 通过alias属性指定别名。
所有的名称实际上都指向了同一个bean。

Fromname用于指定关联的bean的名称
Toname是该关联类的别名名称
4.2 Bean的创建步骤

注入属性

如果bean的属性需要注入另一个bean的实例,要使用ref元素

注入属性是集合的情况




5、高级管理
Bean管理学习笔记的更多相关文章
- C++内存管理学习笔记(5)
/****************************************************************/ /* 学习是合作和分享式的! /* Auth ...
- C++内存管理学习笔记(6)
/****************************************************************/ /* 学习是合作和分享式的! /* Auth ...
- C++内存管理学习笔记(7)
/****************************************************************/ /* 学习是合作和分享式的! /* Auth ...
- Docker Image管理学习笔记,ZT
Docker Image管理学习笔记 http://blog.csdn.net/junjun16818/article/details/38423391
- Linux内存管理学习笔记 转
https://yq.aliyun.com/articles/11192?spm=0.0.0.0.hq1MsD 随着要维护的服务器增多,遇到的各种稀奇古怪的问题也会增多,要想彻底解决这些“小”问题往往 ...
- Linux文件与目录管理(学习笔记)
本笔记为<鸟哥linux私房菜>第六章学习笔记 一.目录与路径 相对路径与绝对路径 绝对路径:一定由根目录 / 写起 正确度比较好 相对路径:不是由 / 写起 ...
- C++内存管理学习笔记(4)
/****************************************************************/ /* 学习是合作和分享式的! /* Auth ...
- C++内存管理学习笔记(3)
/****************************************************************/ /* 学习是合作和分享式的! /* Auth ...
- C++内存管理学习笔记(2)
/****************************************************************/ /* 学习是合作和分享式的! /* Auth ...
随机推荐
- 原创:logistic regression实战(一):SGD Without lasso
logistic regression是分类算法中非常重要的算法,也是非常基础的算法.logistic regression从整体上考虑样本预测的精度,用判别学习模型的条件似然进行参数估计,假设样本遵 ...
- jmeter待解决55大问题
客户交付一个性能测试项目,阐述实施流程. 解释5个常用的性能指标的名称与具体含义. 写出5个jmeter中常用函数,并对其中2个举例说明用法. 简述jmeter的工作原理? 什么是集合点?设置集合点有 ...
- 差分形式的牛顿插值法(c++)
本程序对cosx函数进行插值,取步长为0.1,因此x的值为0.00,0.10,0.20,0.30,对应的y值为cos(0.00),cos(0.10),cos(0.20),cos(0.30),其实本程序 ...
- 2019_软工实践_Beta(5/5)
队名:955 组长博客:点这里! 作业博客:点这里! 组员情况 组员1(组长):庄锡荣 过去两天完成了哪些任务 文字/口头描述 部署新服务器 展示GitHub当日代码/文档签入记录 接下来的计划 准备 ...
- 导入eclipse有Unbound classpath variable: 'M2_REPO报错的解决方法
Eclipse maven of the project reported in Unbound classpath variable: 'M2_REPO /**/***/***. jar' But ...
- 微信小程序的跳转navigateTo()和redirectTo()用法和区别
原文链接:https://blog.csdn.net/u013128651/article/details/79736410 wx.navigateTo({}) ,保留当前页面,跳转到应用内的某个页 ...
- 【原创】MongoDB安装配置详解(标注两个坑)
1.下载安装 3.4正式版([坑]不要最新版,有可能进度卡在这个位置不动,等了半个小时也没什么反映,) http://downloads.mongodb.org/win32/mongodb-win32 ...
- C# 实现HTTP的POST(完整可运行并且通过测试的代码)
https://blog.csdn.net/qq_21381465/article/details/80016159 我是通过VS2010 ,新建一个winform窗体项目,然后写了一个测试软件,软件 ...
- Android Studio打包没有Generate signed apk选项 解决方法
原文地址:https://www.jianshu.com/p/9e02e55f0ba8 1.点击build栏目-并没有Generate signed apk选项 2.点击file,选中如下图所示Syn ...
- Shenzhen Wanze Technology Co., Ltd.技术支持
本网页为Shenzhen Wanze Technology Co., Ltd.团队的技术支持网址,如果在我们开发的游戏中遇到任何问题,欢迎联系我们! QQ:2535510006 邮箱:25355100 ...