`

Spring杂谈

 
阅读更多

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

 

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


ApplicationContext context = new ClassPathXmlApplicationContext(); 

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

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

 

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 管理所有对象.

          //普通Java类获取Spring的bean 
            MailService mailService = (MailService)context.getBean("templateEmail");
}

 

分享到:
评论

相关推荐

    spring杂谈

    【Spring杂谈】这篇文章主要涵盖了Spring框架的多个核心概念和技术,包括事务处理、AOP、IoC/DI、BeanPostProcessor、Bean Validation、事务管理机制的发展以及如何在Spring中处理代理对象等。以下是对这些知识点的...

    spring杂谈 作者zhang KaiTao

    在Spring框架中,有多个关键知识点值得探讨。首先,Spring的事务处理是其核心功能之一。在处理自我调用的事务时,需要注意由于事务的传播属性导致的问题,以及使用代理模式可能带来的风险。作者提到了如何解决这些...

    spring 杂谈,求扩散

    Spring是Java领域中一个广泛应用的轻量级框架,它提供了丰富的功能,包括依赖注入(DI)、面向切面编程(AOP)、事务管理等。本文将深入探讨Spring的一些关键概念和特性,以帮助开发者更好地理解和利用这个强大的...

    Spring杂谈 | 什么是ObjectFactory?什么是ObjectProvider?

    在Spring框架中,`ObjectFactory`和`ObjectProvider`是两个重要的接口,它们与Spring的依赖注入(Dependency Injection,简称DI)机制密切相关。本文将详细解释这两个接口的概念、用途以及与`FactoryBean`的区别。 ...

    跟着开涛学资源合集

    跟着开涛学Spring、SpringMVC、Spring杂谈等资源百度网盘

    系统框架权限设计杂谈论文

    这篇名为“系统框架权限设计杂谈论文”的文档很可能是对这一领域的深入探讨。权限设计是任何复杂系统的核心组成部分,特别是在多用户环境中,如何合理地分配和管理权限,确保数据安全并防止未授权访问,是系统架构师...

    j2ee杂谈

    "j2ee杂谈"这个主题涵盖了在J2EE开发过程中可能遇到的各种问题和最佳实践。 首先,让我们来深入探讨一下EJB(Enterprise JavaBeans)。EJB是J2EE的核心组件之一,它为开发服务器端的业务逻辑提供了标准的组件模型。...

    Learn-More-Do-Less:Java资料库

    Java 知识点,持续迭代中。 如果对你有帮助请点下 Star,有疑问欢迎提有好的想法请提 设计模式 源码分析 JDK 线程相关源码 框架使用 web 层框架 Spring MVC ...杂谈 从架构演变到展望未来 从Synchro

    SSH开发的一个在线服装商店

    SSH框架是Java Web开发中广泛使用的三大开源框架的组合,包括Spring、Struts2和Hibernate。这个在线服装商店项目就是基于这些技术构建的电子商务平台。接下来,我们将详细探讨SSH框架的各自职责以及如何在在线购物...

    java_学习资料

    - **Valuestack杂谈**:介绍ValueStack的作用和使用方式。 - **主题和模板**:定制视图的外观样式。 - **表单标签**:如`s:checkbox`、`s:radio`等。 - **Dojo标签**:用于生成Ajax交互的UI组件。 **整合SSHA** - ...

    ssh框架用struts2+hibernate实现图片的上传源码

    SSH框架是Java Web开发中的一种常见组合,由Struts2、Spring和Hibernate三个开源框架组成。这个框架结合了Struts2的MVC设计模式、Spring的依赖注入(DI)和面向切面编程(AOP)以及Hibernate的对象关系映射(ORM)...

    组建java团队.pdf

    Spring Cloud是目前流行的开发框架,而Spring Boot作为后台开发技术,因其上手速度快而成为主流选择。对于前端开发,可以考虑使用Vue技术栈。由于团队中只有少数人员熟悉Spring Cloud,通过一周时间利用丰富的文档和...

    localhost-8080.github.io:基于 VuePress 和 GitHub Pages 的技术博客

    localhost-8080 本地煮鸡:8080技术博客架构Vuepress + GitHub Pages / Netlify内容Java 程序设计Kotlin 程序设计C 程序设计Web 技术Spring 技术大数据技术前端技术深度学习软件工程杂谈持续施工中在线展示页面 或,

    java8集合源码分析-interview-resources-zhCN:技术资源,整理自用

    java8 集合源码分析 interview-resources-...Spring NIO DB及ORM 实用工具 设计模式 分布式 架构 算法 网络 Linux IDE JAVA 新版本 震惊,JAVA9已经不推荐使用 更震惊,预计9月份就要出JAVA11了 杂谈 正版电子书推荐

    基于规则引擎的消息中心模块的设计与实现

    - **主体架构选择**:论文选择了传统的SSH(Spring+Struts+Hibernate)架构作为基础架构,这是一套成熟的Java Web应用开发框架组合,可以有效地支持Web应用的开发。 - **规则引擎集成**:论文引入了Drools规则引擎,...

Global site tag (gtag.js) - Google Analytics