Spring中标签属性name和id的区别
来源:互联网 发布:手机借款软件排行 编辑:程序博客网 时间:2024/06/10 15:00
bean元素的id和name属性的区别
元素的id属性和 name属性的区别
一般情况下,配置一个Bean时,通过指定一个id属性作为Bean的名称.
id 属性在IoC容器中必须是唯一的
id 的命名要满足XML对ID属性命名规范:
必须以字母开始,可以使用字母、数字、连字符、下划线、句话、冒号
- 使用name属性,就可以使用很多特殊字符,早期在struts1 和 spring整合
name中含有/ ,使用id会报错
- 如果Bean的名称中含有特殊字符,就需要使用name属性
例如:
- 因为name属性可以相同,所以后出现Bean会覆盖之前出现的同名的Bean
xml的解析是从上到下的,所以先配置的bean会被加载到内存中,那么后配置的具有相同name的bean就会覆盖前面的.
- 如果bean元素没有id只有name ,name 属性值可以作为id 使用
===============================================================================
bean元素scope属性配置Bean的作用域
元素scope属性,在spring规范中scope属性有五个取值:
- scope=”singleton” 单例,在Spring IoC容器中仅存在一个Bean实例(默认的scope)
默认情况下:托管给spring默认在spring容器中只有一个Bean实例对象.
scope=”prototype” 多例,每次从容器中调用Bean时,都返回一个新的实例,即每次调用getBean()时,相当于执行new XxxBean()
scope=”request” 用于web开发,该作用域仅适用于WebApplicationContext环境.
每次HTTP请求都会创建一个新的Bean,将Bean放入request范围,request.setAttribute(“xxx”),在同一个request 获得同一个Bean
- scope=”session” 用于web开发, 该作用域仅适用于WebApplicationContext环境.
同一个HTTP Session 共享一个Bean,不同Session使用不同Bean,将Bean 放入Session范围
- scope=”globalSession”该作用域仅适用于WebApplicationContext环境.
一般用于Porlet应用环境 , 分布式系统存在全局session概念,如果不是porlet环境,globalSession 等同于Session . Porlet是Servlet的一个升级,Porlet主要用于分布式系统.
在开发中主要使用 scope=”singleton”、 scope=”prototype”
===============================================================================
bean元素的init-method和destory-method属性
这两个属性只是bean生命周期中一部分内容,完成的Bean生命周期详见:
本文档中Bean的生命周期
Spring初始化bean或销毁bean时,有时需要作一些处理工作,
因此spring可以在创建和拆卸bean的时候调用bean的两个生命
周期方法。
init-method=“setup”
destory-method=“teardown”/>
- init-method=“setup”用于指定:当bean被载入到容器的时候调用setup方法.
类似于Servlet的init()方法.
- destory-method=“teardown”当bean从容器中删除的时候调用teardown.
类似于Serlvet的destory方法
注意destory-method属性只在scope= singleton有效
初始化方法和销毁方法一般都是无返回值,无参数的方法.
销毁方法必须关闭Spring容器才会被调用.即
ClassPathXmlApplicationContext applicationContext = new
ClassPathXmlApplicationContext(“applicationContext.xml”);
applicationContext.close();
5.web容器中会自动调用,但是main函数或测试用例需要手动调用
- Spring中标签属性name和id的区别
- HTML中标签的属性ID与Name的区别!
- JSP中标签id和name的区别
- jsp中标签id和name的区别
- 【JSP】jsp中标签id和name的区别(转)
- html中标签、属性、元素的区别
- Spring 配置文件中Bean 属性id和name的区别
- spring配置中id和name属性的区别
- spring配置中id和name属性的区别
- Spring配置中<bean>的id和name属性区别
- DWZ使用过程中标签属性id冲突的解决办法
- HTML ID和Name属性的区别
- HTML ID和Name属性的区别
- spring配置文件中<bean>的id和name属性区别,以及identifier和aliases
- Spring中applicationContext.xml的bean里的id和name属性区别
- Spring中applicationContext.xml的bean里的id和name属性区别
- dubbo中标签属性的的学习
- Spring bean id 和 Spring bean name 的区别!
- cocos2d-x--使用doxygen+graphviz生成源码文档
- windows 环境下c++系统栈大小调整
- 素数
- HTML5 ul li 去前面的圆点 和 横排
- NGINX基于Cookie和Header的负载均衡会话保持
- Spring中标签属性name和id的区别
- 确定整数是否是回文?空间O(1)时间复杂度O(logn)
- VTK基础概念-圆柱体绘制
- 细说单点登录
- 无题
- clipToPadding 和clipChildren 的区别
- Python之函数参数的使用
- c++ poco Event测试用例
- 4.2分析下面程序,请指出错误的原因和程序错在哪里,并改正错误。