たBeanFactoryとApplicationContextの間の類似点と相違点

同じ:

  • スプリングは、彼らは、Javaインターフェースであり、他方はApplicationContextのある、二つの異なるIOCコンテナを提供たBeanFactoryであり、ApplicationContextのがたBeanFactoryが継承(のApplicationContextはListableBeanFactoryを継承しました。
  • 彼らはまた、自動注入性をサポートし、XMLの属性を設定するために使用することができます。
  • たBeanFactoryを継承ListableBeanFactory)は、たBeanFactoryとApplicationContextのは、Beanを取得するためにgetBean( "Bean名")を使用する方法を提供します。

たBeanFactory豆登録情報を入手

public class HelloWorldApp{ 
   public static void main(String[] args) { 
      XmlBeanFactory factory = new XmlBeanFactory (new ClassPathResource("beans.xml")); 
      HelloWorld obj = (HelloWorld) factory.getBean("helloWorld");    
      obj.getMessage();    
   }
}

ApplicationContextの豆登録情報を入手

public class HelloWorldApp{ 
   public static void main(String[] args) { 
      ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml"); 
      HelloWorld obj = (HelloWorld) context.getBean("helloWorld");    
      obj.getMessage();    
   }
}

しかし、彼らはいくつかの仕事の違いや特徴があります。

  • あなたはApplicationContextのコンテナのインスタンス化シングルトンBeanを起動するときに、あなたがgetBean()メソッド、たBeanFactoryのみインスタンス化Beanを呼び出すときにインスタンス化、しかし、getBean()メソッドを呼び出すために待機しません。
  • たBeanFactoryは国際化、すなわち国際化をサポートしていませんが、ApplicationContextのは、そのためのサポートを提供しています。
  • たBeanFactoryとApplicationContextの間の別の違いは、リスナーBeanとして登録するイベントを発行することができます。
  • コアたBeanFactoryとApplicationContextの実装は、コア実装のXMLBeanFactoryあるClassPathXmlApplicationContext、我々が使用してWebApplicationContextのgetServletContextメソッドを高め、環境Webコンテナです。
  • あなたがたBeanFactoryを使用した自動注入を使用する場合は、あなたがのApplicationContextを使用する場合は、設定のためのXMLを使用することができ、APIの登録AutoWiredBeanPostProcessorを使用する必要があります。
  • 要するに、たBeanFactoryはApplicationContextの高度な機能を提供しながら、IOCとDIの基本的な機能を提供し、テストし、非生産使用できたBeanFactoryが、ApplicationContextのは、より豊富な機能を備えたコンテナの実装である、たBeanFactoryよりも良いはずです

おすすめ

転載: www.cnblogs.com/cxuanBlog/p/10934960.html