六IOC操作Bean管理(Bean 作用域)
Posted 上善若水
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了六IOC操作Bean管理(Bean 作用域)相关的知识,希望对你有一定的参考价值。
-
在spring里面,设置创建bean实例是单实例还是多实例
-
在spring里面,默认情况下,bean是单实例对象
package com.deewinkg.test; import com.deewinkg.bean.Book; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MyTest { @org.junit.Test public void test1() { // 1.加载spring的配置文件 ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml"); // 2.获取配置,创建对象 Book book1 = context.getBean("book", Book.class); Book book2 = context.getBean("book", Book.class); System.out.println(book1); System.out.println(book2); } }
-
如何设置单实例还是多实例
-
在spring配置文件bean标签里面有属性(scope)用于设置单实例还是多实例
-
scope属性值
- 第一个值 默认值,singleton,表示单实例对象
- 第二个值 prototype,表示是多实例对象
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="book" class="com.deewinkg.bean.Book" scope="prototype"> <property name="bname" value="Java"/> </bean> </beans>
-
-
singleton和prototype区别
-
第一 singleton单实例,prototype多实例
-
第二 设置 scope值是 singleton时候,加载spring配置文件时候就会创建单实例对象
设置 scope 值是 prototype 时候,不是在加载 spring 配置文件时候创建对象,在调用getBean 方法时候创建多实例对象
-
以上是关于六IOC操作Bean管理(Bean 作用域)的主要内容,如果未能解决你的问题,请参考以下文章
第246天学习打卡(知识点回顾: IOC操作bean管理 基于xml方式 bean作用域)