bean元素的id和name属性的区别
<bean>元素的id属性和 name属性的区别
1. 一般情况下,配置一个Bean时,通过指定一个id属性作为Bean的名称.
2. id 属性在IoC容器中必须是唯一的
3. id 的命名要满足XML对ID属性命名规范:
必须以字母开始,可以使用字母、数字、连字符、下划线、句话、冒号
4. 使用name属性,就可以使用很多特殊字符,早期在struts1 和 spring整合
<bean name="/login" class="....LoginAction" /> name中含有/ ,使用id会报错
5. 如果Bean的名称中含有特殊字符,就需要使用name属性
例如:<bean name="#person" class="cn.itcast.bean.Person"/>
6. 因为name属性可以相同,所以后出现Bean会覆盖之前出现的同名的Bean
xml的解析是从上到下的,所以先配置的bean会被加载到内存中,那么后配置的具有相同name的bean就会覆盖前面的.
7. 如果bean元素没有id只有name ,name 属性值可以作为id 使用
===============================================================================
bean元素scope属性配置Bean的作用域
<bean>元素scope属性,在spring规范中scope属性有五个取值:
1. scope="singleton" 单例,在Spring IoC容器中仅存在一个Bean实例(默认的scope)
默认情况下:托管给spring默认在spring容器中只有一个Bean实例对象.
2. scope="prototype" 多例,每次从容器中调用Bean时,都返回一个新的实例,即每次调用getBean()时,相当于执行new XxxBean()
3. scope="request" 用于web开发,该作用域仅适用于WebApplicationContext环境.
每次HTTP请求都会创建一个新的Bean,将Bean放入request范围,request.setAttribute("xxx"),在同一个request 获得同一个Bean
4. scope="session" 用于web开发, 该作用域仅适用于WebApplicationContext环境.
同一个HTTP Session 共享一个Bean,不同Session使用不同Bean,将Bean 放入Session范围
5. 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的两个生命
周期方法。
<bean id=“foo” class=“...Foo”
init-method=“setup”
destory-method=“teardown”/>
1. init-method=“setup”用于指定:当bean被载入到容器的时候调用setup方法.
类似于Servlet的init()方法.
2. destory-method=“teardown”当bean从容器中删除的时候调用teardown.
类似于Serlvet的destory方法
注意destory-method属性只在scope= singleton有效
3. 初始化方法和销毁方法一般都是无返回值,无参数的方法.
4. 销毁方法必须关闭Spring容器才会被调用.即
ClassPathXmlApplicationContext applicationContext = new
ClassPathXmlApplicationContext("applicationContext.xml");
applicationContext.close();
5.web容器中会自动调用,但是main函数或测试用例需要手动调用
相关推荐
在Spring的XML配置文件中,我们可以创建一个`<aop:config>`元素,并在其内部定义`<aop:advisor>`来创建Advisor。Advisor的`advice-ref`属性用于指定通知bean的ID,`pointcut-ref`属性用于指定切点bean的ID。 2. ...
#### 二、Spring配置文件基础知识 在Spring框架中,配置文件是整个系统的核心组成部分之一。它定义了Spring容器中的各种Bean及其之间的关系。Spring支持多种类型的配置方式,其中XML配置文件是最常见的一种形式。...
在大型项目中,Struts和Spring的配置文件是系统的核心,它们定义了各个组件如何协同工作。下面将详细讲解这两个框架的主要配置元素和它们在大型项目中的应用。 首先,Struts的配置文件通常命名为`struts-config.xml...
通过对以上内容的分析,我们可以看到Spring配置文件是如何通过XML语法来定义Bean及其属性的。这种配置方式虽然相对复杂,但提供了极大的灵活性,使得开发人员可以根据具体的应用场景灵活地定义和配置Bean。随着...
#### 二、Spring配置文件详解 **1. 构造注入** 构造注入是Spring框架中一种常见的依赖注入方式,通过构造器来传递依赖。这种方式的优点在于,可以确保类在初始化时就有必要的依赖。例如,在配置文件中可以这样定义...
在Spring的各个版本中,核心配置文件扮演着至关重要的角色,它们定义了应用的结构和行为。这篇技术分享将探讨Spring不同版本的核心配置文件,以及它们在应用程序中的作用。 首先,Spring的核心配置文件通常是`...
在压缩包文件“ssm的xml”中,可能包含了Spring、SpringMVC和MyBatis的配置文件,例如:`applicationContext.xml`(Spring配置)、`servlet-context.xml`(SpringMVC配置)和各个Mapper的XML文件。理解并熟练配置...
本文将深入探讨Spring配置文件的各个方面。 首先,Spring配置文件是一个或多个XML文档,其主要作用是指导Spring IoC(Inversion of Control)容器生成Bean实例、处理Bean间的依赖关系以及控制Bean的生命周期。配置...
这些DTD文件定义了MyBatis XML配置文件中的元素和属性,包括SQL映射语句、结果映射、参数映射等。通过这些映射,MyBatis可以将Java对象和数据库表之间的关系清晰地定义,实现SQL查询和更新的动态生成。 了解并熟练...
本文档主要介绍了在Spring配置文件中如何进行各种类型的属性注入,包括基本类型、集合类型以及Bean之间的引用等。下面将逐一展开介绍每种注入方式的细节及其应用场景。 #### 基本类型属性注入 基本类型的属性注入...
2. **字符串注入**:在XML配置文件中,你可以直接指定字符串值,或者在Java配置类中使用`@Value`注解。例如,`@Value("张三")`可以将"张三"注入到一个`setName(String name)`的方法中。 3. **其他bean的注入**:...
在Spring配置文件中,我们通过`LocalSessionFactoryBean`来定义`sessionFactory`,并通过`configLocation`属性指定Hibernate配置文件的位置。 ##### 2. Struts配置文件 - **位置**:Struts配置文件一般位于项目的根...
在Java Web开发中,Struts、Spring、MyBatis和Hibernate这四个框架各有其特定的配置文件,而这些配置文件有时会使用DTD来定义它们的元素和属性,确保文件格式的正确性。下面将详细阐述这四个框架与DTD的关系以及相关...
在Spring中,XML配置文件是初始化和管理Bean的主要方式。Bean是Spring框架中的核心概念,代表了应用程序中的对象。通过XML配置,我们可以定义Bean的类、属性、依赖关系以及生命周期行为。下面,我们将详细讨论XML...
在Spring MVC项目中,`src/main/java`下会存放控制器、服务层、DAO层等业务逻辑代码,`src/main/resources`则常用于存放配置文件,如Spring的XML或Java配置文件。 总结来说,Spring的配置机制是其强大功能的关键...
在Spring框架中,DTD文件用于定义Spring容器如何解析和理解XML配置文件,确保配置的正确性和一致性。例如,`spring-beans-4.0.xsd`是Spring核心模块的DTD文件,它包含了关于bean定义、依赖注入、AOP代理等核心概念的...
通过对Spring配置文件的逐项解析,我们不仅了解了如何定义Bean及其依赖关系,还深入了解了Spring框架中各个组成部分的集成方式。这种基于XML的配置方式虽然繁琐,但非常灵活,适合于大型项目的需求。随着Spring框架...
除了自动完成功能之外,Spring IDE插件还包括对Spring配置文件进行创建和编辑的工具。这些工具能够帮助开发者更快地构建和维护Spring项目所需的bean配置,确保每个bean的属性被正确配置。 对于那些对Spring Web ...
在Spring框架中,`applicationContext.xml`是核心配置文件,它定义了应用的组件及其依赖关系。这个文件是Spring IoC(Inversion of Control,控制反转)容器的基础,负责管理和装配应用中的对象。下面我们将详细解析...