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 ...
随机推荐
- mysql 引擎类型
innodb: 可靠的事物处理引擎,不支持全文搜索 memeory: 数据存储在内存,速度很快 myisam: 性能极高的引擎,支持全文本搜索,但不支持事物
- ueditor div style被过滤 解决办法
上周开发中有用到开源的富文本编辑器UEditor,在使用的过程中遇到了样式被过滤无法显示问题,经过一番折腾终解决,此外,还有一些关于获取前台界面元素的一些总结. 1. UEditor样式被过滤无法显示 ...
- Monkey框架(基础知识篇) - monkey事件介绍
Monkey所执行的随机事件流中包含11大事件,分别是触摸事件.手势事件.二指缩放事件.轨迹事件.屏幕旋转事件.基本导航事件.主要导航事件.系统按键事件.启动Activity事件.键盘事件.其他类型事 ...
- 273道题目;更新到java题目里面 (已迁移到其他类目下面,存储)
1. Java 基础 1.JDK 和 JRE 有什么区别? 2. == 和 equals 的区别是什么? 3. 两个对象的 hashCode() 相同,则 equals() 也一定为 true,对吗? ...
- #C++初学记录(奶酪#并查集)
原题目:牛客网 题目描述 : 现有一块大奶酪,它的高度为 h,它的长度和宽度我们可以认为是无限大的,奶酪中间有许多半径相同的球形空洞.我们可以在这块奶酪中建立空间坐标系, 在坐标系中,奶酪的下表面为 ...
- 解决:E: Could not get lock /var/lib/dpkg/lock
问题: ubuntu16 执行 sudo apt install aria2 命令时,提示如下错误 E: Could not get lock /var/lib/dpkg/lock - open (1 ...
- Centos7安装Redis5.0.5并加入Systemd服务
1. 安装gcc-c++, tcl yum install gcc-c++ tcl 2. 解压缩, 编译, 测试 tar zxvf redis-5.0.5.tar.gz make make test ...
- C# 获取文件扩展信息-应用名称/作者等
方案一:使用微乳封装的Shell包 添加nuget包:Microsoft.WindowsAPICodePack.Shell using Microsoft.WindowsAPICodePack.She ...
- Sharding-JDBC 按日期时间分库分表
简介 Sharding-JDBC 定位为轻量级Java框架,在Java的JDBC层提供的额外服务. 它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完 ...
- alertmanager,grafana,prometheus
https://zhuanlan.zhihu.com/p/43637757 https://www.cnblogs.com/xiangsikai/p/11289966.html dashboard分文 ...