`
morgan-java
  • 浏览: 56432 次
  • 性别: 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 管理所有对象.
分享到:
评论
1 楼 magicway 2010-04-22  
学习了!!!谢谢

相关推荐

    普通类调用Spring bean对象

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

    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容器

    SpringBoot如何在普通类加载Spring容器 SpringBoot作为一个流行的Java框架,提供了很多便捷...通过封装一个工具类来获取Spring容器中的Bean,可以方便地在普通类中使用这些Bean,这种方式非常实用,可以提高开发效率。

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

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

    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中Bean定义方调用方式解析

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

    Spring Bean

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

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

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

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

    MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 **5. MySQL**: 是一款广泛使用的开源关系型数据库管理系统,以其高性能...

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

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

    spring在IoC容器中装配Bean详解

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

    javaSSM 学习笔记spring spring MVC mybatis

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

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

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

    Axis2集成Spring.doc

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

    Spring Boot 面试必备手册

    1. **面向对象的配置**:配置类可以像普通 Java 类一样继承、重写,增强了配置的灵活性。 2. **减少或消除 XML 配置**:JavaConfig 提供了一种完全 Java 的方式来配置 Spring 容器,使得配置过程更加直观。 3. **...

    spring mvc+ mubait

    MyBatis 使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。MyBatis 的主要优点在于其灵活性,开发者可以完全控制SQL的编写,从而实现...

Global site tag (gtag.js) - Google Analytics