ApplicationContext

2486 ワード

ApplicationContextはBeanFactoryインタフェースのサブインタフェースであり、BeanFactoryの機能を強化し、contextパッケージの下にある.多くの場合、ApplicationContextでは、手動で作成することなく宣言的にコンテナを操作できます.ContextLoaderのようなサポートクラスを利用して、Webアプリケーションの起動時に自動的にApplicationContextを作成することができます.もちろん、プログラミング方式でApplicationContextを作成することもできます.
Contextの基本は、BeanFactoryインタフェースを継承し、BeanFactoryのすべての機能を提供するApplicationContextインタフェースです.よりフレームワーク向けに動作するために、contextパッケージでは、階層化されたコンテキストクラスと継承関係のあるコンテキストクラスが使用されます.以下のものが含まれます.
1.       MessageSourceは、国際化のサポートを提供します.
2.       URLやファイルなどのリソースアクセス.
3.       イベント転送.
4.       複数のプロファイルをロードします.
ApplicationContextにはBeanFactoryのすべての機能が含まれているので、ApplicationContextを優先的に使用することをお勧めします.BeanFactoryを使用することは、一部のメモリで非常に重要なアプリケーションでない限り考慮されません.
SpringがApplicationContextに提供する3つの実装は、次のとおりです.
ClassPathXmlApplicationContext
FileSystemXmlApplicationContext
XmlWebApplicationContext
ここでXmlWebApplicationContextはWebエンジニアリング専用にカスタマイズされています.使用例は次のとおりです.
1.
FileSystemXmlApplicationContext

   eg1. ApplicationContext ctx = new FileSystemXmlApplicationContext("bean.xml"); //        

    eg2. String[] locations = {"bean1.xml", "bean2.xml", "bean3.xml"};

            ApplicationContext ctx = new FileSystemXmlApplicationContext(locations );

//        

    eg3. ApplicationContext ctx =new FileSystemXmlApplicationContext("D:/project/bean.xml");

//          

2.
ClassPathXmlApplicationContext

        eg1. ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");

        eg2. String[] locations = {"bean1.xml", "bean2.xml", "bean3.xml"};

                ApplicationContext ctx = new ClassPathXmlApplication(locations);

        // :  FileSystemXmlApplicationContext //ClassPathXmlApplicationContext BeanFactory xml            //  。

3.
XmlWebApplicationContext

        eg1. ServletContext servletContext = request.getSession().getServletContext();    

            ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);

本文は
http://zhaohe162.blog.163.com/blog/static/38216797201141551726177/