码迷,mamicode.com
首页 > 编程语言 > 详细

Spring中的Bean

时间:2020-06-21 14:17:13      阅读:60      评论:0      收藏:0      [点我收藏+]

标签:对象   pat   img   start   scope   配置文件   service组件   new   org   

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

标签:对象   pat   img   start   scope   配置文件   service组件   new   org   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!