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管理学习笔记的更多相关文章

  1. C++内存管理学习笔记(5)

    /****************************************************************/ /*            学习是合作和分享式的! /* Auth ...

  2. C++内存管理学习笔记(6)

    /****************************************************************/ /*            学习是合作和分享式的! /* Auth ...

  3. C++内存管理学习笔记(7)

    /****************************************************************/ /*            学习是合作和分享式的! /* Auth ...

  4. Docker Image管理学习笔记,ZT

    Docker Image管理学习笔记 http://blog.csdn.net/junjun16818/article/details/38423391

  5. Linux内存管理学习笔记 转

    https://yq.aliyun.com/articles/11192?spm=0.0.0.0.hq1MsD 随着要维护的服务器增多,遇到的各种稀奇古怪的问题也会增多,要想彻底解决这些“小”问题往往 ...

  6. Linux文件与目录管理(学习笔记)

    本笔记为<鸟哥linux私房菜>第六章学习笔记 一.目录与路径 相对路径与绝对路径 绝对路径:一定由根目录 / 写起              正确度比较好 相对路径:不是由 / 写起  ...

  7. C++内存管理学习笔记(4)

    /****************************************************************/ /*            学习是合作和分享式的! /* Auth ...

  8. C++内存管理学习笔记(3)

    /****************************************************************/ /*            学习是合作和分享式的! /* Auth ...

  9. C++内存管理学习笔记(2)

    /****************************************************************/ /*            学习是合作和分享式的! /* Auth ...

随机推荐

  1. 「ZJOI2019」Minmax搜索

    传送门 Solution 叶子节点的变化区间是连续的,可得知非叶子节点的权值变化区间也是连续的 由此可知,\(W\)的变化值的可行域也是连续的,所以只需要看它能否变为\(W+1\)或\(W-1\) 对 ...

  2. [web 前端] Npm package.json与package-lock.json文件的作用

    本文链接:https://blog.csdn.net/u013992330/article/details/81110018 最新版nodejs中,多了一个package-lock.json文件,刚开 ...

  3. 【Qt开发】vs2017+qt5.x编译32位应用

    概述 最近有同学私信我,问如何使用vs2017+qt5.10编译出32位的应用,需要使用msvc2017_x86的插件,然而qt官网并没有提供,只能使用源码编译生成msvc2017_x86插件,使用n ...

  4. 单点登录(SSO)工作原理

    单点登录(SSO)工作原理 一.单点登录的介绍 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次 ...

  5. java 465端口发送邮件

    package com.fr.function; import java.io.IOException; import java.security.Security; import java.util ...

  6. AudioManager: android插上耳机仍然使用扬声器播放音频

    手机音频的输出有外放(Speaker).听筒(Telephone Receiver).有线耳机(WiredHeadset).蓝牙音箱(Bluetooth A2DP)等输出设备.在平时,电话免提.插拔耳 ...

  7. window上可以执行的shell脚本,复制到linux上执行报错了

    原因:.sh脚本在windows系统下用记事本文件编写的.不同系统的编码格式引起的. 解决方法:修改.sh文件格式 (1)使用vi工具vi build_android.sh (2)利用如下命令查看文件 ...

  8. java开源工具包-Jodd框架

    java开源工具包-Jodd框架 /    2019-07-24 Jodd是一个Java工具包和微型框架,Jodd 工具包含一些实用的工具类和小型框架,增强了 JDK 提供很多强大的功能,可以帮助实现 ...

  9. [Matplotlib] Data Representation

    Jupyter Notebook Goto: https://plot.ly/python/#3d-charts[丰富的作图资源]   Data Visualization¶ In [1]: from ...

  10. 快排的时间复杂度O(n) = nlogn计算过程

    转载:https://www.cnblogs.com/javawebsoa/p/3194015.html 本文以快速排序为例,推导了快排的时间复杂度nlogn是如何得来的,其它算法与其类似. 对数据D ...