`

获取bean的名称

阅读更多

 

<bean id="personService" class="com.zhen.service.impl.PersonServiceBean" />

 

获取bean的名称:

 

1.PersonService ps = (PersonService)ctx.getBean("personService");

ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");

 

 

2.

BeanFactory ctx = new ClassPathXmlApplicationContext("bean.xml");

PersonService ps = (PersonService)ctx.getBean("personService");

 

 

BeanFactory 和ApplicationContext都可以获取到bean的名称:

ApplicationContext和BeanFacotry相比,提供了更多的扩展功能,但其主要区别在于后者是延迟加载,如果Bean的某一个属性没有注入,BeanFacotry加载后,直至第一次使用调用getBean方法才会抛出异常;而ApplicationContext则在初始化自身是检验,这样有利于检查所依赖属性是否注入;所以通常情况下我们选择使用ApplicationContext.

分享到:
评论

相关推荐

    几种spring获取bean的方法.txt

    根据提供的文件信息,我们可以总结出以下关于Spring框架中获取Bean的几种方法的相关知识点: ### Spring框架简介 Spring框架是一款开源的轻量级Java EE应用程序开发框架,它通过提供一系列强大的功能来简化Java...

    springboot 使用上下文获取bean

    该类提供了多种方法来获取 Bean,包括通过名称获取 Bean 和通过类型获取 Bean。 如何使用 SpringContextUtil? 首先,我们需要在启动类中初始化 SpringContextUtil,并将上下文注入进去。例如,在 ...

    处理ssh组合框架中如何用getBean获取实体

    这种方法避免了硬编码bean名称,提高了代码的可维护性。 ```java public class ServiceLocator { private static ApplicationContext context; static { context = new ClassPathXmlApplicationContext(...

    学习Spring的一点代码01:如何获取bean?

    在Spring框架中,获取Bean是核心功能之一,它允许开发者从Spring IoC容器中实例化、配置和管理对象。在本篇文章中,我们将探讨如何在Spring中获取Bean,以及相关的一些核心概念和技术。 首先,Spring容器是管理Bean...

    Spring在代码中获取bean的几种方式.rar

    以下将详细介绍Spring在代码中获取bean的几种主要方法: 1. **`ApplicationContext` 接口** `ApplicationContext` 是Spring中最常用的接口之一,它提供了获取Bean的多种方法。例如,`getBean(String beanName)` ...

    Spring 应用上下文获取 Bean 的常用姿势实例总结

    然后我们可以借助于其 getBean(String name) 方法使用 Bean 名称获取特定的 Bean。 以下是一个使用 CommandLineRunner 接口来打印所有 Bean 的示例代码: ```java import org.springframework.beans.factory....

    SpringBoot 获取spring bean方式.rar

    Spring框架为我们提供了多种获取Bean的方法,这些方法可以帮助开发者在不同场景下灵活地使用Bean。本篇将详细介绍Spring Boot中获取Bean的几种常见方式。 首先,让我们理解什么是Spring Bean。在Spring框架中,Bean...

    Java获取Bean的几种方式.pdf

    本文主要探讨了Java获取Bean的多种方式,尤其在Spring Boot和IOC(控制反转)环境下。这些方式可以帮助开发者便捷地从Bean容器中检索和使用所需的Bean。 1. **初始化时保存ApplicationContext对象** 当应用启动时...

    根据javabean动态获取字段以及中文名称

    javabean中有100个属性字段,想要在前端页面获取这100个字段和字段对应的中文名称,如用户名称(username),密码(password),可以动态的获取到中文名称和属性字段,并返回前端页面,本例只实现动态解析功能

    Java获取Spring中配置的Bean的三种方式

    1. **通过ApplicationContext获取Bean** `ApplicationContext` 是Spring的核心接口之一,它提供了一个获取Bean的工厂方法。首先,我们需要创建一个`ApplicationContext`实例,这通常通过加载配置文件(如XML或Java...

    Spring Bean创建初始化流程.docx

    5. **获取Bean实例**: 在预实例化过程中,`getBean(beanName)`被调用,这是`AbstractBeanFactory`类中的一个方法,用于从Bean工厂中获取指定名称的Bean实例。 6. **实际获取Bean**: 进入`doGetBean()`方法,这...

    Spring在应用中获得Bean的方法

    1. **通过名称获取Bean** 使用`ApplicationContext`的`getBean(String name)`方法可以直接根据Bean的定义名称获取到对应的实例。例如: ```java ApplicationContext context = new ...

    在Servlet直接获取Spring框架中的Bean.docx

    如果在Spring初始化之前尝试获取Bean,可能会抛出异常。 总之,在Servlet中直接获取Spring的Bean可以帮助简化代码,减少重复的工作,并利用Spring的依赖注入能力。然而,这种方式应该谨慎使用,因为它可能破坏了...

    Spring笔记(第五次)1

    此外,还有`BeanNameAware`、`EmbeddedValueResolverAware`等接口,分别提供了获取bean名称和解析嵌入值的能力。这些`Aware`接口的实现通常由Spring的后置处理器(如`ApplicationContextAwareProcessor`)来处理,...

    Spring通过ApplicationContext主动获取bean的方法讲解

    getBean(String name)方法可以根据bean的名称来获取bean,而getBeanByName(Class&lt;T&gt; clazz)方法可以根据bean的类型来获取bean。containsBean(String name)方法可以检查是否存在某个bean,而isSingleton(String name)...

    Spring实现Aware接口自定义获取bean的两种方式

    Spring Aware接口自定义获取bean的两种方式 Aware接口是Spring框架中的一种机制,通过实现Aware接口,可以获取Spring容器中的bean对象。在Spring编程中,经常需要根据bean的名称来获取相应的bean对象,这时候,...

    Quartz(二)整合Spring容器中bean及动态调度任务

    然后,在Spring配置文件中,我们可以创建一个`JobDetail`来引用这个`MyJob`实例,并设置其名称和组名: ```xml &lt;bean id="myJobDetail" class="org.springframework.scheduling.quartz....

    获得spring里注册Bean的四种方法

    这样,我们就可以使用 getBeanFactory() 方法来获取 BeanFactory 对象,并使用它来获取指定名称的 Bean 对象。 ```java public class ServiceLocator implements BeanFactoryAware { private static BeanFactory ...

    读取Bean类自动创建数据库

    在本场景中,它被用来动态获取Bean类的属性(字段)和方法,这些信息可以映射为数据库表的字段和操作。例如,一个名为`User`的Bean类可能有`id`、`name`和`email`字段,反射技术可以自动识别这些字段,并创建一个`...

    spring bean 属性总结

    - **id属性**:是Bean在BeanFactory中的唯一标识符,用于通过BeanFactory获取Bean实例。例如,`&lt;bean id="myBean" class="com.example.MyClass"&gt;`。 - **name属性**:类似于`id`属性,但可以定义多个别名。例如,`...

Global site tag (gtag.js) - Google Analytics