2012-01-05 22 views
6

私はまだSpringに晒されていません。私は私のシステムで持っているスタンドアロンのJavaプロジェクトの一つで以下のコードを見ました。私は以下のコードを理解するのを助けてくれますか?私はこのプロジェクトでspring.xmlを見ることができません - そこに存在しなくてはならないものですか?スタンドアロンJavaクラスでのClassPathXmlApplicationContextの使用

appContext = new ClassPathXmlApplicationContext(new String[] { 
     "classpath*:/META-INF/spring.xml", 
     "classpath*:myapplication-application-context.xml" 
     }); 

答えて

8

classpath*構文は春が/META-INF/spring.xmlmyapplication-application-context.xmlと呼ばれるすべてのリソースのクラスパスを検索すると、コンテキストにそれらを合併することを意味します。これには、プロジェクト内のJARファイルを調べることが含まれるため、メインプロジェクトファイル内には表示されないことがあります。

+0

おかげでskaffmanによってロードされ、対応するWebアプリケーションのコンテキストを持っています。ウィルスはファイルを狩ります:) –

6

Springのコア機能は、ApplicationContextを中心に「アプリケーションの設定を提供するための中央インターフェイス」です。このインターフェイスは、ClassPathXmlApplicationContextによって実装されています。クラスパスからコンテキスト定義を取得するのに役立ちます。 。

@skaffmanが説明するように、アプリケーションは上記のファイルのコンテキスト定義からロードされます。つまり、すべてのSpring Beanが初期化され、必要に応じてDependency Injectionが実行されます。

あなたがウェブアプリケーションを扱う場合は、春はXmlWebApplicationContext

関連する問題