Spring 的 Bean 管理(XML 方式)
Spring 的 Bean 管理(XML 方式)
1. 三种实例化 Bean 的方式
- 使用类构造器实例化(默认无参数)
- 使用静态工厂方法实例化(简单工厂模式)
- 使用实例工厂方法实例化(工厂方法模式)
正常情况下采用默认配置方式:无参数的构造方法的方式。
演示
这里不再做具体的演示说明,相关代码我已经上传 github,可以访问下面链接参考:
2. Bean 的配置
id 和 name
- 一般情况下,装配一个 Bean 时,通过指定一个 id 属性作为 Bean 的名称
- id 属性在 IOC 容器中必须是唯一的
- 如果 Bean 的名称中含有特殊字符,就需要使用 name 属性
class
class 用于设置一个类的完全路径名称,主要作用是 IOC 容器生成类的实例。
Bean 的作用域
类别 | 说明 |
---|---|
singleton | 在 SpringIOC 容器中仅存在一个 Bean 实例,Bean 以单实例的方式存在 |
prototype | 每次调用 getBean() 时都会返回一个新的实例 |
request | 每次 HTTP 请求都会创建一个新的 Bean,该作用域仅适用于 WebApplicationContext 环境 |
session | 同一个 HTTP Session 共享一个 Bean,不同的 HTTP Session 使用不同的 Bean。该作用域仅适用于 WebApplicationContext 环境 |
scope 属性来配置。singleton 为默认值(单例)。
常用的为 singleton和protoype。
演示
- Bean 的作用域为单例时:
<bean id="person" class="com.test.ioc.demo3.Person"/>
打印输出测试结果如下:
可以看到 getBean 返回实例的地址是一样的,所以是单例的。
- Bean 的作用域为多例时:
<bean id="person" class="com.test.ioc.demo3.Person" scope="prototype"/>
打印输出测试结果:
getBean 返回实例的地址不一样,prototype 每次调用 getBean() 时都会返回新实例。
Spring 的 Bean 管理(XML 方式)的更多相关文章
- Spring之Bean管理------注解方式
编写测试类 1,编写相关的类 public interface UserDao { public void sayHello(); } public class UserDaoImpl impleme ...
- IoC容器-Bean管理XML方式(创建对象和set注入属性,有参构造注入属性)
Ioc操作Bean管理 1,什么是Bean管理 (0)Bean管理指的是两个操作 (1)Spring创建对象 (2)Spring注入属性 2,Bean管理操作有两种方式 (1)基于xml配置文件方式实 ...
- IoC容器-Bean管理XML方式(自动装配)
IoC操作Bean管理(XML自动装配) 1,什么是自动装配 (1)根据指定装配规则(属性名称或者属性类型),Spring自动将匹配的属性值进行注入 2,演示自动装配过程 (1)根据属性名称自动注入 ...
- IoC容器-Bean管理XML方式(注入集合类型属性)
Ico操作Bean管理(xml注入集合属性) 1,注入数组类型属性 2,注入List集合类型属性 3,注入Map集合类型属性 (1)创建类,定义数组.list.map.set类型属性,生成对应set方 ...
- IoC容器-Bean管理XML方式(引入外部属性文件)
IoC操作Bean管理(引入外部属性文件) 1,直接配置数据库信息 (1)配置德鲁伊连接池 (2)引入德鲁伊连接池依赖jar包 2,通过引入外部属性文件配置数据库连接池 (1)创建外部属性文件,pro ...
- IoC容器-Bean管理XML方式(注入空值和特殊符号)
Ioc操作Bean管理(xml注入其他类型属性), 字面量 (1)null值 (2)属性值包含特殊符号
- IoC容器-Bean管理XML方式(p名称空间注入)
5,p名称空间注入(简化xml配置) (1)使用p名称空间注入,可以简化基于xml配置方式 (了解实际用不多) 第一步 添加 p 名称空间在配置文件中 第二步 进行属性注入,在bean标签里面进行 ...
- IoC容器-Bean管理XML方式(注入内部bean和级联赋值)
注入属性-内部bean和级联赋值 (1)一对多关系:部分和员工 一个部门有多个员工,一个员工属于一个部门 部门是一,员工是多 (2)在实体类之间表示一对多关系 (3)在spring配置文件中进行配置 ...
- IoC容器-Bean管理XML方式(注入外部bean)
注入属性-外部bean (1)创建两个类service类和dao类 (2)在service调用dao里面的方法 (3)在spring配置文件中进行配置
- Spring 的Bean管理的常用注解
属性注入的注解(使用注解注入的方式,可以不用提供set方法) @Value 用于注入普通类型 @Autowired 自动装配 :默认按类型进行装配 按名称注入 @Qualifier 强制使用名称注入 ...
随机推荐
- Java虚拟机与平台无关性
概述 代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步. --<深入理解Java虚拟机>(从这里可以看到,字节码是一种文件格式) 我们都知道计算机只 ...
- 【转】Qt编写串口通信程序全程图文讲解
本文章原创于www.yafeilinux.com 转载请注明出处. (说明:我们的编程环境是windows xp下,在Qt Creator中进行,如果在Linux下或直接用源码编写,程序稍有不同,请自 ...
- java代理浅述
代理 代理主要可以分为: 静态代理 JDK自带的动态代理 Cglib 静态代理 静态代理比较简单,简单来说就是不想直接调用被代理类,通过代理类来实现功能.如下就是使用了静态代理 定义接口 public ...
- Python——私有化 和 属性property
Python——私有化 和 属性property 一.私有化 xx: 公有变量 _x: 单前置下划线,私有化属性或方法,from somemodule import *禁止导入,类对象和子类可以访问 ...
- AES对称加密解密类
import java.io.UnsupportedEncodingException; import javax.crypto.Cipher; import javax.crypto.spec.Se ...
- C标准库中转换wchar_t和char类型的字符串
C 库函数 - mbstowcs() C 标准库 - <stdlib.h> 描述 C 库函数 size_t mbstowcs(schar_t *pwcs, const char *str ...
- 转 CentOS7使用firewalld打开关闭防火墙与端口
http://blog.csdn.net/huxu981598436/article/details/54864260 开启端口命令 输入firewall-cmd --query-port=6379/ ...
- B站动手学深度学习第十八课:seq2seq(编码器和解码器)和注意力机制
from mxnet import nd h_forward = nd.array([1,2]) h_backward = nd.array([3,4]) h_bi = nd.concat(h_for ...
- 视图push和presentViewController注意点
presentViewController: - (void)publishClick{ NSLog(@"发布按钮被点击"); PublishViewController *pub ...
- Java集合(4):未获支持的操作及UnsupportedOperationException
执行各种添加和移除的方法在Collection中都是可选操作的,这意味着实现类并不需要为这些方法提供实现.当我们调用这些方法时,将不会执行有意义的行为,而是通常抛出UnsupportedOperati ...