您现在的位置是:首页 > 前端 > 前端开发 设计思想
如何在Web启动时获取Spring 上下文环境
博主
添加时间:2014-11-19 17:06:25
【设计思想】
热度:320人已围观
问题如题,本文给出一个解决方案,满足以下要求:
(1)Web启动时能自动获取Spring 的上下文,从而用户可以随意的获取其中的Bean。
(2)在单文件测试环境中,亦可以根据配置文件路径加载Spring上下文。
大致原理为:
Spring 启动时,会给任何一个实现了ApplicationContextAware接口的Bean(也可以叫做类),注入一个构造函数参数:applicationContext。
有了这样的一个类,就可以在自己的代码里轻松的获取上下文了。
编写这样的一个类还有个好处,那就是,对于类被调用时,没有通过web启动的方式(那么也就不会注入),根据上下文对象判空可以判断。
这样的一个类的源码为:
import org.apache.tiles.velocity.template.GetAsStringDirective; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; public class MyBeanFactory implements ApplicationContextAware{ public static ApplicationContext context = null; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { if(context==null) { context =applicationContext; } System.out.println("ApplicationContext setter is called..."); } public static ApplicationContext getApplicationContext() { if(context==null) { //本地调试 context = new FileSystemXmlApplicationContext("/WebContent/WEB-INF/config/spring-context.xml"); } return context; } public static Object getBean(String name) { if(context==null) { context = getApplicationContext(); } return context.getBean(name); } }
-
【牛腩新闻发布系统】----你的验证码正确么
前言这是一个神奇的网站——牛腩新闻发布系统,虽然做的不咋地,但毕竟是自己动手敲出来,还是有一点点的满足感。同时这也是小编的第一个雠小鸭,长相不算漂亮,发育还是挺健全的。 终有一天我的丑小鸭会变成白天鹅。 一步一步的进化,一步一步的蜕变…… ...
-
页面登陆框老是乱乱的?banner跨页图片缩小之后总是在侧面不能显示主要部分?哈哈~我来帮你忙~~
页面大小变化内容排布 banner图片排布 登陆框和banner背景混合排布 ...
-
【百度地图API】如何制作多途经点的线路导航——驾车篇
摘要: 休假结束,酸奶小妹要从重庆驾车去北京。可是途中要去西安奶奶家拿牛奶饼干呢!用百度地图API,能不能帮我实现这个愿望呢?------------------------------------------------------------------------------------------------ ...
-
easyui导出excel无法弹出下载框的解决办法
之前用ajax做的,代码如下(ActionUrl为一般处理程序ashx的路径): $.ajax({ url: ActionUrl + '?action=export& ...
-
【智能聊天机器人】小花猫的成长之路——3.雏形(让你立马拥有一个自己的智能聊天机器人)
大家好,今天不废话了,直接来给大家分享一下如何实现一个网页版智能聊天机器人的基本功能,也就是标题说的:雏形。 ...
文章评论
标签云 更多
-
PHP(35)
MySQL(0)
Linux(1)
前端(0)
SEO优化(0)
随笔(9)
PHP基础(1)
PHP类库(5)
PHP实例(56)
PHP函数(518)
PHP高级(0)
PHP与数据库(0)
PHP进阶(0)
PHP应用(0)
PHP安全(0)
PHP框架专栏(0)
PHP开放平台(0)
PHP面试题(62)
SEO专栏(569)
基础教程(120)
环境(154)
语法(15)
变量(13)
字符串(15)
运算符(6)
流程控制(13)
数组(188)
表单(4)
开发经验(120)
日期(31)
引用(11)
文件处理(39)
文件上传(21)
Cookie&Session(107)
E-mail(1)
点击排行
站长推荐
打赏本站
- 如果你觉得本站很棒,可以通过扫码支付打赏哦!
- 微信扫码:你说多少就多少~
- 支付宝扫码:你说多少就多少~