首页 > 编程语言 > 详细

Spring中的Bean

时间:2020-06-21 12:53:34      阅读:75      评论:0      收藏:0      [点我收藏+]

Bean的配置

??Spring如同一个工厂,用于生产和管理Spring容器中的Bean。使用这个工厂,需要开发者对Spring的配置文件进行配置。在实际开发中,最常采用XML格式的配置方式,即通过XML文件来注册并管理Bean之间的依赖关系。
技术分享图片
技术分享图片

Bean的作用域

技术分享图片

  1. singleton
    ??singleton是Spring容器默认的作用域,当Bean的作用域为singleton时,Spring容器就只会存在一个共享的Bean实例,并且所有对Bean的请求,只要id与该Bean的id属性相匹配,就会返回同一个Bean的实例。singleton作用域对于无会话状态的Bean(如Dao组件、Service组件)来说,是最理想的选择。
<!-- scope作用域 单例(singleton)-->
		<bean id="scope" class="com.ssm.scope.Scope" scope="singleton"/>
  1. prototype
    ??对需要保持会话状态的Bean应用使用prototype作用域。在使用prototype作用域时,Spring容器会为每个对该Bean的请求都创建一个新的实例。
<!-- scope作用域 原型(prototype)-->
		<bean id="scope1" class="com.ssm.scope.Scope" scope="prototype"/>
  1. 测试
package com.ssm.scope;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class ScopeTest {
	public static void main(String[] args) {
		ApplicationContext applicationContext = new 
				ClassPathXmlApplicationContext("applicationContext.xml");
		
		// 如果是单例模式,则创建同一个实例
		System.out.println("singleton创建的对象:");
		System.out.println(applicationContext.getBean("scope"));
		System.out.println(applicationContext.getBean("scope"));
		// 如果是原型模式,则创建不同实例
		System.out.println("prototype创建的对象:");
		System.out.println(applicationContext.getBean("scope1"));
		System.out.println(applicationContext.getBean("scope1"));
	}
}	

Spring中的Bean

原文:https://www.cnblogs.com/zq98/p/13171982.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!