<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>
java context是什麼,讓我們一起了解一下。
context是一個強大的文本編輯工具,特別適合於開發者進行源碼編輯,java中的context是上下文、環境的意思,是建立一個通道能訪問JNDI服務器,同時也讓JNDI服務器接受請求,起到交互作用。
在JAVA中什麼時候用到Context?
當JNDI的一個類javax.naming.InitialContext,讀取JNDI的一些配置信息,並內含對象和其在JNDI中的註冊名稱的映射信息的時候,請看下面的代碼:
InitialContext ic=new InitialContext();RMIAdaptor server=(RMIAdaptor)ic.lookup("jmx/invoker/RMIAdaptor");
這是一段JBoss中獲取MBean的遠程調用類的代碼。在這裏面通過InitialContext中JNDI註冊的名稱“jmx/invoker/RMIAdaptor”來獲得RMIAdaptor對象。這和JAVA集合中的MAP有點像,有一個String的key,key對映着它的對象。
再來看看下面Spring中最常見的幾句代碼。ApplicationContext 是內含configuration.xml配置文件的信息,使得可以通過getBean用名稱得到相應的註冊對象。
ApplicationContext ctx= new FileSystemXmlApplicationContext("configuration.xml");Object obj= ctx.getBean("Object_Name");
從上面的代碼,能體會到Context所代表的意義:公用信息、環境、容器....。所以Context翻譯成上下文是可以的,也可以按照語言使用的環境,翻譯成“環境”、“容器”也是可以的。
另外,Context也是一個內部類。代碼如下:
public class Mapper<KEYIN, VALUEIN, KEYOUT, VALUEOUT> { /** * The <code>Context</code> passed on to the {@link Mapper} implementations. */ public abstract class Context implements MapContext<KEYIN,VALUEIN,KEYOUT,VALUEOUT> { } }
內部類的好處就是Mapper類的參數Context可以很方便的訪問到。