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

普通Java类获取Spring的Bean的方法

 
阅读更多

在SSH集成的前提下。某些情况我们需要在Action以外的类中来获得Spring所管理的Service对象。

  之前我在网上找了好几好久都没有找到合适的方法。例如:


ApplicationContext context = new ClassPathXmlApplicationContext();

  当时我觉得没有这个必要,浪费内存。后来我终于想出了一个解决方法。在此拿来给大家参考下,希望对大家有帮助。

  1.创建一个类并让其实现org.springframework.context.ApplicationContextAware接口来让Spring在启动的时候为我们注入ApplicationContext对象.

  示例代码:


   view plaincopy to clipboardprint?
  import org.springframework.beans.BeansException;
  import org.springframework.context.ApplicationContext;
  import org.springframework.context.ApplicationContextAware;
  public class MyApplicationContextUtil implements ApplicationContextAware {
  private static ApplicationContext context;//声明一个静态变量保存
  @Override
  public void setApplicationContext(ApplicationContext contex)
  throws BeansException {
  this.context=contex;
  }
  public static ApplicationContext getContext(){
  return context;
  }

  2.在applicationContext.xml文件中配置此bean,以便让Spring启动时自动为我们注入ApplicationContext对象.

  例:


   <!-- 这个bean主要是为了得到ApplicationContext 所以它不需要其它属性--> 
  <bean class="org.ing.springutil.MyApplicationContextUtil"></bean>  

  3.有了这个ApplicationContext之后我们就可以调用其getBean("beanName")方法来得到由Spring 管理所有对象.

分享到:
评论

相关推荐

    普通类调用Spring bean对象

    当我们需要在非Spring管理的普通类中调用Spring管理的bean对象时,需要掌握特定的方法。这篇文档将详细介绍如何实现这一操作,并探讨相关的源码和技术工具。 首先,理解Spring的核心概念——依赖注入(Dependency ...

    17. Spring Boot普通类调用bean【从零开始学Spring Boot】

    在Spring Boot框架中,普通类调用bean是常见的操作,特别是在构建复杂应用时。这篇博客“17. Spring Boot普通类调用bean【从零开始学Spring Boot】”旨在指导初学者如何在非Spring管理的类中访问和使用Spring容器中...

    在非spring注解类中使用spring容器中的bean_普通类中使用yml配置文件中的配置信息

    要从一个非Spring管理的类中获取Bean,我们需要先创建或获取`ApplicationContext`实例。有多种方式可以做到这一点,例如: 1. 通过`ClassPathXmlApplicationContext`或`FileSystemXmlApplicationContext`加载XML...

    spring bean的循环依赖完全掌握.pdf

    为了彻底掌握 Spring Bean 的循环依赖,我们需要搞清楚四个问题:普通 Bean 的非循环依赖 Bean 生命周期的流程、AOP 代理 Bean 的非循环依赖 Bean 生命周期的流程、普通 Bean 的循环依赖 Bean 生命周期的流程和 AOP ...

    SpringBoot如何在普通类加载Spring容器

    在上面的代码中,我们定义了一个BeanUtil工具类,该类提供了一个getBean方法,该方法可以根据给定的Class类型来获取Spring容器中的Bean。 接下来,我们需要在SpringBoot启动类中对BeanUtil的容器进行赋值。下面是一...

    Spring框架JavaConfig注解配置方式实例

    2. `@Component`:这个注解用于标记普通的Java类,使其成为Spring管理的bean。通常,我们还会使用其子注解如`@Service`、`@Repository`和`@Controller`来细分不同类型的bean。 3. `@Bean`:在方法上使用此注解,表示...

    Spring Boot中Bean定义方调用方式解析

    在普通的 Java 类中,我们可以使用 SpringUtil 工具类来获取 applicationContext 对象,从而获取所需的 Bean 对象。 SpringUtil 工具类 在 Spring Boot 中,我们可以创建一个名为 SpringUtil 的工具类,该类实现 ...

    java_Spring+Mybatis_Demo

    6. **项目结构**:通常,一个基于Spring+Mybatis的项目会包含src/main/java目录下存放Java源码,src/main/resources下存放配置文件如Spring的bean配置、Mybatis的Mapper XML文件,以及SQL脚本。pom.xml是Maven的项目...

    Java EE企业级应用开发教程 Spring+Spring MVC+MyBatis 第2版 Jav 第2版源码

    《Java EE企业级应用开发教程》第二版,结合Spring、Spring MVC和MyBatis三大框架,为读者提供了全面深入的Java后端开发学习路径。这本书的源码资源旨在帮助开发者通过实践来理解并掌握企业级应用开发的核心技术。 ...

    spring boot基于Java的容器配置讲解

    Spring容器会根据`Conf`类中的`@Bean`注解来创建bean,然后我们可以通过bean的类型从容器中获取对象并调用其方法。 值得注意的是,`AnnotationConfigApplicationContext`可以接受多个类作为输入,这些类可以是`@...

    spring在IoC容器中装配Bean详解

    如果没有指定 id 和 name 属性,Spring 将自动将类的全限定名作为 Bean 的名称。如果存在多个匿名 Bean,即没有指定 id 和 name 的 `&lt;bean/&gt;`,则可以使用全限定名加上数字后缀来获取 Bean。 三、依赖注入 依赖...

    Spring Bean

    它们是业务逻辑的载体,可以是POJO(Plain Old Java Object),即没有特定依赖于Spring的普通Java类。Spring通过XML配置文件、注解或Java配置来定义Bean,这些定义告诉Spring如何创建Bean、如何将Bean装配在一起以及...

    基于Java-Spring+Spring-MVC+MyBatis+Mysql .zip

    Java-Spring+Spring-MVC+MyBatis+MySQL是一个经典的后端开发框架组合,用于构建高效、可扩展的Web应用程序。这个压缩包可能包含了一个完整的项目结构,让我们逐一解析每个部分,深入理解这些技术栈的核心概念。 **1...

    Spring+SpringMVC+Mybatis框架整合例子(SSM) 下载

    Mybatis允许开发者直接编写SQL,提高了查询效率和灵活性,同时通过XML或注解方式配置和映射原生信息,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 SSM整合的过程主要包括...

    Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)所有实验及实验报告.zip

    MyBatis是一个优秀的持久层框架,它简化了数据库操作,允许开发者用简单的XML或注解来配置和映射原生信息,从而将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。MyBatis避免了...

    javaSSM 学习笔记spring spring MVC mybatis

    MyBatis 可以使用简单的 XML 或注解进行配置和原始映射,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录。 - MyBatis 提供了一种 ORM(对象关系映射)方式,将数据库操作...

    spring-实例工厂注入

    工厂类是一个普通的Java类,它包含了创建对象的方法。Spring容器通过调用工厂类的方法来获取对象实例,并将其注入到依赖它的其他组件中。 二、配置实例工厂注入 1. 定义工厂类 首先,我们需要创建一个工厂类,这个...

    【Spring】总结Spring整合Mybatis的底层原理实现步骤

    Bean与普通Java对象的区别在于,Bean是由Spring负责实例化的,同时,当从Spring容器中获取Bean时,Spring还会对Bean中带有`@Autowired` 注解的属性进行自动注入赋值,这是手工new对象无法实现的特性。Spring容器中的...

    Axis2集成Spring.doc

    本文档中的示例通过外部Spring容器获取指定的实现Bean,并通过Axis2提供服务。这涉及到以下几个关键步骤: **1. 创建服务实现类:** - 开发者需要手动编写WSDL文件和服务实现类,而不是使用Axis2提供的工具(如...

Global site tag (gtag.js) - Google Analytics