你的位置:首页 > 软件开发 > Java > spring里头各种获取ApplicationContext的方法

spring里头各种获取ApplicationContext的方法

发布时间:2016-03-07 12:00:16
原文出处: xieyu_zy为啥写这个文章呢?spring各个版本不同,以及和系统框架套在一起不同,导致获取的方式不同,网络上各种版本,太乱了,写获取方式的人都不写这个获取方式是在本地还是在WEB,在那种应用服务器下,在spring那个版本下,太过分了!我这写一些,常见的,可 ...

原文出处: xieyu_zy

为啥写这个文章呢?spring各个版本不同,以及和系统框架套在一起不同,导致获取的方式不同,网络上各种版本,太乱了,写获取方式的人都不写这个获取方式是在本地还是在WEB,在那种应用服务器下,在spring那个版本下,太过分了!

我这写一些,常见的,可能经常要用的版本;

首先了解,为什么要获取这个东西:当你想通过spring获取一个你指定的类的实例的时候,而又没有通过spring加载到当前调用的类里面,例如你在filter里面,可能要对人员角色做判定,此时还没到业务层代码,但是又要访问数据库或其他的服务类。

然后再确保一点:这个context是一个全局变量,spring加载的时候,根handle信息就被装载,无论是本地应用程序还是web应用都是这样,下面分别说下如果是本地程序和其他情况的获取方式。

如果是main方法,你要启动spring,有很多方法,有基于annotation的注解来讲配置文件装载起来,当然,你想获取applicationCntext可在main方法中这样获取:

1

还有没有其他的方式呢?有的

1

然后spring反射,来源文章:http://blog.163.com/xuyang1974@126/blog/static/2684016320101028101923914/

这种方式适在spring 2、3当中均有效:

编写类:

1

我这里是通过annotation注解的,如果不是annotation,那么可以通过配置文件:

1

tomcat 7以上可以写成:

1

更为好的写法是:

1

当然,你可以将值写进去,看定义是:

1

那么值就应该是:

1

来获取,源码如下:

spring里头各种获取ApplicationContext的方法

其实它获取的方式和上面给的方法是一样的,RequestContextUtils.getWebApplicationContext在spring 3当中,如果没有启动ContextLoaderListener(当然你可以配置监听),是不会成功的。

ContextLoaderListener的简单配置为(web.

1

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:spring里头各种获取ApplicationContext的方法

关键词:Spring

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录