`

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杂谈 作者zhang KaiTao

    1. spring杂谈[原创] 1.1 Spring事务处理时自我调用的解决方案及一些实现方式的风险 1.2 我对AOP的理解 1.3 Spring开闭原则的表现-BeanPostProcessor的扩展点-1 1.4 我对IoC/DI的理解 1.5 SpringMVC + spring3.1.1 +...

    spring 杂谈,求扩散

    spring 转载

    spring杂谈

    对于数组、集合、Map,注入的元素类型,如SortedSet&lt;String&gt; 其实是找所有String类型的Bean注入到集合

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

    在Spring的学习过程中,总是学的越多,不懂的越多。本来只是想将ApplicationContext的相关内容全部梳理一遍,结果发现涉及的东西越来越多,比如上篇文章中的ResolvableType,到这篇文章介绍的ObjectFactory跟...

    跟着开涛学资源合集

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

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

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

    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了 杂谈 正版电子书推荐

    asp.net知识库

    技术基础 New Folder 多样式星期名字转换 [Design, C#] .NET关于string转换的一个小Bug Regular Expressions 完整的在.net后台执行javascript脚本集合 ASP.NET 中的正则表达式 常用的匹配正则表达式和实例 ...

Global site tag (gtag.js) - Google Analytics