java中的context

ContextJava中的出現是如此頻繁.可是今天有人問我context是什麼意思,當倒暈倒,說真的,我也不知道context是什麼意思.就如人家問我(1+1爲何等於2).通過cotext.我行說說個人見解吧java

先來舉幾個JAVA中用到Context的例子服務器

(1)JNDI的一個類javax.naming.InitialContext,它讀取JNDI的一些配置信息,並內含對象和其在JNDI中的註冊名稱的映射信息。請看下面的代碼spa

InitialContext ic=new InitialContext();翻譯

RMIAdaptor server=(RMIAdaptor)ic.lookup("jmx/invoker/RMIAdaptor");server

這是一段JBoss中獲取MBean的遠程調用類的代碼。在這裏面經過InitialContext中JNDI註冊的名稱「jmx/invoker/RMIAdaptor」來得到RMIAdaptorxml

對象。這和JAVA集合中的MAP有點象,有一個String的key,key對映着它的對象。對象

(2)再來看看下面Spring中最多見的幾句代碼。ApplicationContext 是內含configuration.xml配置文件的信息,使得能夠經過getBean用名稱獲得相應的註冊對象。get

ApplicationContext ctx= new FileSystemXmlApplicationContext("configuration.xml");it

Object obj= ctx.getBean("Object_Name");io

從上面的代碼,我很能體會到Context所表明的意義:公用信息、環境、容器....。因此我以爲Context翻譯成上下文並不直觀,按照語言使用的環境,翻譯成「環境」、「容器」可能更好。

Context翻 譯成「上下文」只是不直觀罷了,不過也沒大錯。咱們來看看中文的「上下文」是什麼意思。咱們常說聽話傳話不能「斷章取義」,而要聯繫它的「上下文」來看。 好比,小麗對王老五說「我愛你」,光看這句還覺得在說情話呢。但一看上下文--「雖然我愛你,但你太窮了,咱們仍是分手吧」,味道就徹底變了。從這裏來看 「上下文」也有「環境」的意思,就是語言的環境。

PS

 上下文實際上是一個抽象的概念。咱們常見的上下文有Servlet中的pageContext,訪問JNDI時候用的Context。寫過這些代碼的人可能比較容易理解,其實他們真正的做用就是承上啓下。好比說pageContext他的上層是WEB容器,下層是你寫的那個Servlet類,pageContext做爲中間的通道讓ServletWeb容器進行交互。再好比訪問JNDIContext,他的上層是JNDI服務器(多是遠程的),下層是你的應用程序,他的做用也是創建一個通道讓你能訪問JNDI服務器,同時也讓JNDI服務器接受你的請求,一樣起到交互做用。

相關文章
相關標籤/搜索