`
moonkk1987
  • 浏览: 8784 次
社区版块
存档分类
最新评论

java中如何获取Spring 的bean

 
阅读更多

一、什么是Spring?
Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架

二、如何在程序中获取Spring配置的bean呢?
方法一:在初始化时保存ApplicationContext对象
代码:

复制代码代码如下:

ApplicationContext ac = new FileSystemXmlApplicationContex("applicationContext.xml");
    ac.getBean("beanId");


说明:这种方式适用于采用Spring框架的独立应用程序,需要程序通过配置文件手工初始化Spring的情况。

 

方法二:通过Spring提供的工具类获取ApplicationContext对象
代码:

复制代码代码如下:

import org.springframework.web.context.support.WebApplicationContextUtils;
    ApplicationContext ac1 = WebApplicationContextUtils
                               .getRequiredWebApplicationContext(ServletContext sc)
    ApplicationContext ac2 = WebApplicationContextUtils
                               .getWebApplicationContext(ServletContext sc)
    ac1.getBean("beanId");
    ac2.getBean("beanId");


方法三:继承自抽象类ApplicationObjectSupport
说明:抽象类ApplicationObjectSupport提供getApplicationContext()方法,可以方便的获取到ApplicationContext。Spring初始化时,会通过该抽象类的setApplicationContext(ApplicationContext context)方法将ApplicationContext 对象注入。

 

方法四:继承自抽象类WebApplicationObjectSupport
说明:类似方法三,调用getWebApplicationContext()获取WebApplicationContext

方法五:实现接口ApplicationContextAware
说明:实现该接口的setApplicationContext(ApplicationContext context)方法,并保存ApplicationContext 对象。Spring初始化时,会通过该方法将ApplicationContext 对象注入。

分享到:
评论

相关推荐

    Java中Spring获取bean方法小结

    这里我们将详细探讨如何在Java中通过Spring获取配置的bean。 1. **BeanFactory与ApplicationContext** - **BeanFactory** 是Spring中最基础的IoC容器,负责管理和实例化Bean。它允许开发者定义Bean的生命周期和...

    java *spring工具类 方便在非spring管理环境中获取bean

    java *spring工具类 方便在非spring管理环境中获取beanjava *spring工具类 方便在非spring管理环境中获取beanjava *spring工具类 方便在非spring管理环境中获取beanjava *spring工具类 方便在非spring管理环境中获取...

    java spring工具类 方便在非spring管理环境中获取bean

    java spring工具类 方便在非spring管理环境中获取beanjava spring工具类 方便在非spring管理环境中获取beanjava spring工具类 方便在非spring管理环境中获取beanjava spring工具类 方便在非spring管理环境中获取bean...

    Web项目中获取SpringBean与在非Spring组件中获取SpringBean.pdf

    总的来说,获取非Spring管理组件中的SpringBean主要有两种方式:一是通过实现`ApplicationContextAware`接口并存储ApplicationContext,二是使用注解和静态内部类来注入BeanFactory。这两种方法都是Spring框架提供的...

    线程中获取spring 注解bean

    当需要在线程中获取Spring注解的bean时,有几种常见的方法: 1. **ThreadLocal**:Spring提供了一种名为`ThreadLocalTargetSource`的特殊`TargetSource`实现,可以将bean实例绑定到当前线程。这样,每个线程都有其...

    spring bean的生命周期

    - **属性注入**:Spring会将依赖注入到Bean中,包括值注入(value,ref)和集合注入(list,map,props,set)。 - **初始化回调**:Spring支持两种类型的初始化回调方法,即`@PostConstruct`注解的方法和在XML中...

    Spring bean 动态注册,jar包热替换

    Spring bean 一般通过配置文件和注解进行加载,如果要实现jar或class...测试示例中是spring boot 的部分代码,动态加载的内容为接口实现类,且初始化时加载本地的实现类,动态加载后改为非程序加载目录中的jar实现类。

    spring bean XML配置入门

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

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

    本文将详细介绍在Spring框架中获取配置Bean的三种主要方法。 1. **通过ApplicationContext获取Bean** `ApplicationContext` 是Spring的核心接口之一,它提供了一个获取Bean的工厂方法。首先,我们需要创建一个`...

    详解Spring 中如何控制2个bean中的初始化顺序

    Spring 中控制 2 个 bean 的初始化顺序 在 Spring 框架中,控制多个 bean 的初始化顺序是一个常见的问题。本篇文章将详细介绍如何控制 2 个 bean 的初始化顺序,提供了多种实现方式,并分析了每种方式的优缺。 ...

    实例化Spring bean的两种工厂方法

    在Spring配置文件中,我们需要定义一个工厂bean,然后指定该工厂bean的`factory-bean`属性,以及工厂bean中用于创建目标bean的方法,即`factory-method`属性。下面是一个简单的例子: ```xml <bean id="myFactory...

    java中获得spring中的BEAN

    本文将深入探讨如何在Java中获取Spring容器中的Bean,并通过具体的示例来讲解这一过程。 ### Spring框架概述 Spring框架是由Rod Johnson创建的一个开源项目,旨在简化Java企业级应用程序的开发。Spring的核心特性...

    spring bean 属性总结

    在Spring中,核心概念之一就是Bean,它是一个简单的Java对象,由Spring IoC容器管理。Spring通过XML配置文件或注解来定义、配置和管理Beans。下面将深入探讨`<beans>`、`<bean>`及其属性,以及其他相关的配置元素。 ...

    SpringBoot 获取spring bean方式.rar

    本篇将详细介绍Spring Boot中获取Bean的几种常见方式。 首先,让我们理解什么是Spring Bean。在Spring框架中,Bean是一个由Spring容器管理的对象,通常代表应用中的业务组件或服务。Spring会负责Bean的创建、初始化...

    spring中的bean

    在Java企业级开发中,Spring框架扮演着至关重要的角色,它是现代Java应用的核心组件之一。Spring框架通过提供依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)等特性,简化...

    spring运行过程中动态注册bean

    在Spring框架中,动态注册Bean是一项非常实用的功能,它允许我们在应用运行时向Spring容器添加新的Bean定义。这种能力在很多场景下都是极其有用的,比如根据不同的环境配置加载不同的服务实现,或者在运行时根据某些...

    spring动态向容器中添加bean和删除指定bean.md

    spring动态向容器中添加bean和删除指定bean,不需要重启应用

    普通类调用Spring bean对象

    这样,我们就能在普通类中获取到Spring管理的bean实例。 2. **@Autowired**:如果普通类也是Spring的一部分,即它也被Spring管理,那么可以使用注解`@Autowired`来自动装配bean。这样,Spring会自动找到类型匹配的...

    Spring Bean 加载顺序 .

    在Spring框架中,Bean的加载顺序是理解Spring IoC(Inversion of Control,控制反转)容器工作原理的关键部分。这个过程涉及到Bean定义的解析、实例化、初始化等多个步骤。让我们详细探讨Spring Bean加载顺序的各个...

    41. Spring Boot 使用Java代码创建Bean并注册到Spring中【从零开始学Spring Boot】

    在本篇博文中,我们将深入探讨如何在Spring Boot应用中使用Java代码来创建Bean并将其注册到Spring容器中。这是Spring Boot的核心特性之一,它使得我们能够以编程方式管理对象,而无需XML配置。让我们逐步解析这个...

Global site tag (gtag.js) - Google Analytics