`
xsz
  • 浏览: 3253 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

spring的bean的id和name属性

 
阅读更多
1.id属性命名必须满足xml命名规范,因为id其实是xml中就做了规范。总结起来相当于java的命名规范,不能以数字,符号大头不能有空格,如123,?ad,"ab "等都是不规范的,Spring在初始化时就会报错,诸如:
 

Java代码




   1. org.xml.sax.SAXParseException: Attribute value "?ab" of type ID must be a name. 




org.xml.sax.SAXParseException: Attribute value "?ab" of type ID must be a name.

2.name属性没有以上规定,但是在getBean()会报错


Java代码




   1. org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'a b' is defined 




org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'a b' is defined


3。配置文件不允许出现两个id相同的<bean>,否则初始化时会报错

4.name属性可以但是getBean得到的是后一个实例

5.name属性可以用,隔开多个名字

6.如果name,id都没指定,那么用类全名作为name

7.如果存在多个id和name都没有指定,且实例类都一样的<bean>,如:
 

Java代码




   1. <bean class="com.stamen.BeanLifeCycleImpl"/> 

   2.    <bean class="com.stamen.BeanLifeCycleImpl"/> 

   3.    <bean class="com.stamen.BeanLifeCycleImpl"/> 




<bean class="com.stamen.BeanLifeCycleImpl"/>

   <bean class="com.stamen.BeanLifeCycleImpl"/>

   <bean class="com.stamen.BeanLifeCycleImpl"/>




   则第一个bean通过getBean("com.stamen.BeanLifeCycleImpl")获得,

     第二个bean通过getBean("com.stamen.BeanLifeCycleImpl#1")获得,

     第三个bean通过getBean("com.stamen.BeanLifeCycleImpl#2")获得,以此类推。

小结:

当然这些都是奇迹淫巧,不足以去时间,通过id指定唯一名称才是王道
分享到:
评论

相关推荐

    spring bean 属性总结

    ### Spring Bean 属性详解 Spring框架是Java平台上的一个开源框架,主要用来简化企业级应用程序的开发。...通过深入了解这些元素和属性,开发人员可以更有效地利用Spring框架的功能,构建更加健壮和可扩展的应用程序。

    spring bean XML配置入门

    在本文中,我们将深入探讨Spring框架中的Bean XML配置,这是Spring的核心特性之一,它允许我们定义、管理和装配应用中的对象。我们将围绕以下知识点展开: 1. **Spring框架基础**: Spring是一个开源的Java平台,...

    Spring bean 管理

    - id和name:id属性是Bean的标识符,name属性可以包含特殊字符,且可以有多个别名。 - class:用于指定Bean所对应的完整类名,Spring通过反射来创建该类的实例。 3. Bean的作用域: - singleton:默认的作用域,...

    day38 08-Spring的id、name和scope顺序

    在Spring框架中,`id`、`name`和`scope`是配置bean时常见的三个属性,它们对于理解和管理Bean的生命周期至关重要。今天我们将深入探讨这三个属性的含义、使用方法以及它们之间的顺序规则。 首先,`id`是Spring Bean...

    Spring Bean简单应用实例

    Spring通过IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入)来管理这些Bean。在这个"Spring Bean简单应用实例"中,我们将深入理解这两个概念以及如何在实际应用中使用它们。 首先,...

    Spring的Bean配置

    在本文中,我们将深入探讨Spring中的Bean配置,包括IoC和DI的概念,Bean的配置方式,以及不同类型的IOC容器。 **Spring的Bean配置**: 在Spring中,Bean是应用中的对象,它们由Spring IoC容器负责创建、管理和装配...

    Spring定义bean的三种方式和自动注入

    例如,对于`Student`和`Teacher`类,我们分别创建`bean`标签,并设置`id`属性作为Bean的唯一标识,`class`属性指定Bean对应的类。此外,通过`property`标签注入依赖,如`teacher`字段,使用`ref`属性引用另一个Bean...

    Spring之核心容器bean

    这里,`myBean`是bean的ID,`com.example.MyClass`是bean对应的类,`name`属性则是bean的一个属性,被注入了值"Example Bean"。 **依赖注入(DI)** Spring的核心特性之一是依赖注入(Dependency Injection,简称DI...

    day38 11-Spring的Bean的属性的注入:对象属性

    在Spring框架中,Bean的属性注入是核心功能之一,它允许我们为Bean对象设置各种属性值,以便在应用运行时创建和配置完全初始化的对象。在本篇内容中,我们将深入探讨Spring如何处理Bean的属性注入,包括对象属性的...

    spring框架配置bean的高级属性

    ### Spring框架配置Bean的高级属性解析 在Spring框架中配置Bean是进行依赖注入的基础操作,而深入理解如何高效地配置Bean及其属性对于提高开发效率、优化项目结构具有重要意义。本文将详细解读标题“spring框架配置...

    day38 12-Spring的Bean的属性的注入:名称空间p

    在Spring框架中,Bean的属性注入是核心功能之一,它允许我们通过配置文件或注解来设置Bean实例的属性值,使得对象的初始化更加灵活。本文将深入探讨Spring中的"名称空间p",这是一种用于配置Bean属性注入的方式,...

    Java中Spring获取bean方法小结

    然后在需要的地方,只需调用`BeanManager.getBean("beanId")`即可。 4. **在Web应用中启动** 在Web应用中,可以配置一个Servlet,在服务器启动时初始化ApplicationContext。在`web.xml`中定义Servlet,并在`init...

    spring依赖注入bean

    `ref` 属性指定了要注入的 Bean 的 ID。 **注解驱动的配置** 除了 XML 配置,Spring 也支持使用注解进行配置。这使得代码更加简洁且易于理解。我们可以在类上使用 `@Component` 注解声明一个 Bean,然后使用 `@...

    spring IOC反射装载bean

    在这个特定的"spring IOC反射装载bean"的主题中,我们将深入探讨Spring如何通过XML配置文件来加载和管理Bean,并利用Java的反射机制来实例化这些Bean。 首先,Spring容器通过读取XML配置文件来获取Bean的定义。这些...

    第四章 Spring Bean基础1

    - **实例化**:Spring 根据 BeanDefinition 创建 Bean 实例,可能涉及构造器注入和属性设置。 - **初始化**:包括调用初始化方法,执行 Bean 生命周期中的其他初始化逻辑。 7. **延迟初始化与销毁**: - **延迟...

    Spring实战之获得Bean本身的id操作示例

    从测试结果中,我们可以看到,Spring容器已经成功地将Bean的配置id传递给了setBeanName()方法,并将其保存在了beanName实例变量中。 在Spring框架中,获取Bean本身的id操作可以通过实现BeanNameAware接口来实现。...

    SPRING:bean配置properties

    在Spring框架中,Bean的配置与管理是其核心功能之一,而通过`PropertyPlaceholderConfigurer`进行属性占位符的配置则是实现动态配置的关键技术。本文将深入解析如何利用`PropertyPlaceholderConfigurer`进行bean配置...

    spring的Bean配置说明

    3. `id` 和 `name` 属性:`id`属性为Bean提供一个唯一的标识,用于在代码中通过BeanFactory或ApplicationContext获取Bean实例。`name`属性可以为Bean添加别名,允许使用多个名字引用同一个Bean。 4. `singleton` ...

    spring 属性参考与自动绑定

    当`autowire`属性设置为`byName`时,Spring会尝试根据属性名和bean的ID来自动匹配bean。这意味着如果有一个bean的ID与属性名相匹配,那么这个bean将会被注入到对应的属性中。例如: ```xml &lt;bean id="date" class=...

    Spring如何获取Bean

    -- 可以添加其他属性和依赖项 --&gt; &lt;/bean&gt; ``` 然后,在 Java 代码中,我们可以使用.FileSystemXmlApplicationContext 来获取 ApplicationContext,最后使用 getBean() 方法来获取我们要的 Bean。 ```java ...

Global site tag (gtag.js) - Google Analytics