Context(コンテキスト)

1640 ワード

いくつかのJAVAでContextを用いた例を挙げる
 
(1)JNDIクラスjavax.naming.InitialContextは、JNDI構成情報を読み込み、オブジェクトObjectとJNDI内のNameのマッピング情報を含む.
 
JBossでMBeanのリモートコールクラスを取得するコード:
 
InitialContext ic=new InitialContext();
RMIAdaptor server=(RMIAdaptor)ic.lookup("jmx/invoker/RMIAdaptor");

InitialContextでJNDIに登録されている名前「jmx/invoker/RMIAdaptor」でRMIAdaptorオブジェクトを取得します.これはJAVA集合中のMAPと少し似ています.
 
(2)次のSpringで最も一般的なコードを見てみましょう.
 
ApplicationContextはconfiguration.xmlプロファイルが含まれている情報で、getBeanで名前で対応する登録オブジェクトを得ることができます.
 
ApplicationContext ctx= new FileSystemXmlApplicationContext("configuration.xml");
Object obj= ctx.getBean("Object_Name");

  上のコードから、Contextが表す意味を理解することができます:共通情報、環境、コンテナ.....だからContextはコンテキストに翻訳して直観的ではありませんて、言語の使用する環境によって、“環境”、“コンテナ”に翻訳するのはもっと良いかもしれません.
 
Contextを「コンテキスト」に訳しても大きな間違いはありません.中国語の「文脈」がどういう意味か見てみましょう.
 
私たちはよく言うことを聞くと「断章して意味を取る」のではなく、その「文脈」に連絡して見なければならない.
 
例えば、麗ちゃんは王さんに「愛してる」と言って、この言葉を見ているだけで恋の話をしていると思っていました.しかし、文脈を見ると、「愛していますが、あなたは貧乏ですから、別れましょう」と味が変わります.ここから見ると「文脈」にも「環境」という意味があり、言語の環境です.
 
PS:コンテキストは実は抽象的な概念です.
 
一般的なコンテキストとしては、サーブレットのpageContext、JNDIにアクセスするためのContextがあります.
 
これらのコードを書いたことがある人は理解しやすいかもしれませんが、実際には彼らの本当の役割は上から下まで受け継ぐことです.
 
例えばpageContext彼の上層はWEBコンテナで、下層はあなたが書いたサーブレットクラスで、pageContextは中間の通路としてサーブレットとWebコンテナをインタラクティブにします.
 
更に例えばJNDIのContextにアクセスして、彼の上層はJNDIサーバー(遠隔のかもしれません)で、下層はあなたのアプリケーションで、彼の作用も1つの通路を創立してあなたにJNDIサーバーにアクセスすることができて、同時にJNDIサーバーにあなたの要求を受け入れさせて、同様にインタラクティブな作用を果たします.