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 ...
随机推荐
- 【00NOIP普及组】税收与补贴问题(信息学奥赛一本通 1911)( 洛谷 1023)
[题目描述] 每样商品的价格越低,其销量就会相应增大.现已知某种商品的成本及其在若干价位上的销量(产品不会低于成本销售),并假设相邻价位间销量的变化是线性的且在价格高于给 定的最高价位后,销量以某固定 ...
- ICEM-带柱底座
原视频下载地址:https://pan.baidu.com/s/1c2KgCBA 密码: ixk8
- SQL Delta实用案例介绍
概述 本篇文章主要介绍SQL DELTA的简单使用.为了能够更加明了的说明其功能,本文将通过实际项目中的案例加以介绍. 主要容 SQL DELTA 简介 创建SQL DELTA项目 ...
- RPC接口测试(二) RPC 与HTTP的区别
RPC 与HTTP的相同点 两种风格的API区别,总结一下其实非常简单: 1,RPC面向过程,只发送 GET 和 POST 请求.GET用来查询信息,其他情况下一律用POST.请求参数是动词,直接描述 ...
- ISO/IEC 9899:2011 前言
前言 1.ISO(国际标准组织)与IEC(国际电工技术委员会)为全世界标准形成了专门的系统.作为ISO或IEC成员的国家机构,通过由各自组织所建立的技术委员会来加入国际标准的开发,以处理特定领域的技术 ...
- C++实现委托机制(三)——lambda表达式封装
C++.引言: 其实原本没打算写这一章的,不过最后想了想,嗯还是把lambda表达式也一并封装进去,让这个委托也适应lambda表达式的注册.不过在之前还是需要先了解lamb ...
- Kubernates之从pod中拷贝文件到宿主机
想从k8s的pod中拷贝文件到宿主机,kubectl 的cp命令,但是网上搜索了下,感觉有点乱,自己记录下. hadoop这个namespace下,有个hadoop-hadoop-yarn-rm-0的 ...
- Navicat工具链接 mysql"Access denied for user'root'@'IP'" 用户远程赋值
如题 用Navicat远程连接数据库出现错误 给用户添加权限 连接MySQL mysql -uroot -p: use mysql; 更改权限 使用grant all privileges on来 ...
- 最新 途牛java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.途牛等10家互联网公司的校招Offer,因为某些自身原因最终选择了途牛.6.7月主要是做系统复习.项目复盘.LeetCode ...
- iOS @功能的部分实现思路
需求描述 1. 发布信息时,通过键盘键入@符号,或者点选相关功能键,唤醒@列表,进行选择 2.选择结束后,输入栏改色显示相关内容 3.删除时,整体删除@区块,且不能让光标落在@区块之间 实现步骤 1. ...