は私が4つの典型的なソースフォルダと春のプロジェクトを持っています。アプリケーションを実行すると、Springはアプリケーションコンテキストファイルをmain/resources
にフェッチし、Junitテストを実行するとapplication-context.xml
ファイルをtest/resources
にフェッチします。 Springはapplication-context.xml
ファイルを適切にフェッチしますか、それとも何らかの設定が関係していますか?春のアプリケーションコンテキスト - <code>main/src</code>、<code>main/resources</code>、<code>test/src</code>と<code>test/resources</code> - メインとテストフォルダ
答えて
またはStruts
で他のプロジェクトを実行しようとすると、それぞれのフォルダからリソースが選択されます。それは春とは関係がありません。これは、あなたが使用しているMavenや他のビルドシステムの世話をします。
main/src , main/resources , test/src , test/resources
これらのフォルダは、mavenプロジェクトまたはgradleプロジェクトを作成するときに標準で使用されます。
アプリケーションは、アプリケーションコンテキストがどこにあるかをSpringに通知します。 Webアプリケーションは、web.xmlにContextLoaderListenerをコンフィグレーションすることでこれを行います。 アプリケーションのコンテキストがどのように読み込まれるかのテストごとに、@ContextConfigurationアノテーションは、コンテキストがどの場所から読み込まれるか、または注釈付きクラスからロードされる方法を指定します。例えば
私は
@ContextConfiguration(loader = AnnotationConfigContextLoader.class,
classes = MyTest.ContextConfiguration.class)
public class MyTest {
@Autowired MyStuff stuff;
static class ContextConfiguration {
@Bean public MyStuff getMyStuff() {
return new MyStuff();
}
}
}
を使用するようにテストを設定した場合、その後のMyTestはに注入するかを決定するために、テストにアノテーションを使用して、指定されたContextConfigurationを使用して、これらのフィールドに値を設定します。クラスパス内のxml構成は完全に無視されます。
コンテキストローダーは、コンテキストをロードする場所を指定することもできます。org.springframework.test.context.ContextLoaderのドキュメントを参照してください。
使用しているSpringのバージョンがわかりません。 3.0より前のバージョンでは、スプリング認識テストが拡張された階層の一部であったorg.springframework.test.AbstractSpringContextTestsクラスの抽象メソッドloadContextを実装して、テスト・コンテキストを管理しました。
私は、junitが適切なリソースを選ぶ方法について考えています。つまり、リソースをテストリソースフォルダとsrcリソースフォルダに配置するときです。はい、設定ファイルのクラスパスを指定しますが、ソースではなくテストからどのように検索するのですか – Pragnani
また、バネフレームワークを使用せずにスタンドアローンのMavenプロジェクトを実行してみてください。テストリソースとsrcリソースの両方にいくつかのリソースを組み込み、cpにjunitを組み込み、このリソースを使用するテストクラスを作成し、どのリソースjunitがピッキングしているかを調べるためにテストを実行してください。 – Pragnani
@Pragnini:特定の質問は、使用するコンテキスト。春はMavenやIDEで与えられたクラスパス上にあるものにそれを残しません。 –
- 1. パッケージ私が見て</p> <pre><code>package main </code></pre> <p>を開始して実験し</p> <pre><code>func main() </code></pre> <p>を持ってきた「メイン」とFUNC「メイン」
- 2. PHP <<< OUTとOUT;
- 3. std :: operator <<とstd :: ostream :: operator <<
- 4. は<strong><em>春のWeb RestController</em></strong>でPagedResourceAssembler
- 5. <C:Cを設定し、<:設定とC:春
- 6. <thead><th>と<tbody>
- 7. Swift <<, ><, <=< and > = <
- 8. 春:<map>タグ
- 9. aspxの<%:と<%=と<%#の違いは何ですか?
- 10. <img>と<object>
- 11. MySQLの:私は<strong>MySQLの</strong>テーブルに列<strong><code>my_order</code></strong>と<strong><code>alt_order</code></strong>で<strong><code>example</code></strong>と呼ばれている列
- 12. < refと</ref >
- 13. <include>と<merge>
- 14. パート `<`と一部 `<`
- 15. <MailDefinition>と<%%>プレースホルダ
- 16. cout << coutとcout <<とcoutの違いは何ですか?
- 17. <<<
- 18. Heredoc <<<または<<?
- 19. std :: cout << xの間のdiffrenceは何ですか;とstd :: cout << x << std :: endl ;?
- 20. スプリング(ブート)<em>スプリングブート</em>、<em>スプリング</em> MVCと<em>春データ</em>一クラス(<em>MongoDBのデータベースとして</em>で)に使用したWebアプリケーションを考えると同じクラス
- 21. <video>と<track>と
- 22. の.htaccessのRewriteRule:</p> <ol> <li><strong>mydomain.com</strong></li> <li><strong>mydomain.cz</strong></li> </ol> <p>:背景のビットと同じサーバとディレクトリ
- 23. catとypcatの違いは何ですか?</p> <blockquote> <p>猫/ etc/passwdファイル</p> </blockquote> <p>と</p> <blockquote> <p>ypcatのpasswdを</p> </blockquote> <p>:
- 24. は私が</p> <pre><code>Lazy load </code></pre> <p><code>Fullscreen mode</code>と</p> <p><code>thumbnail preview</code>とjqueryのギャラリーfoを探していますjqueryの画像ギャラリー
- 25. connection.Close()とconnection.Dispose()の違いは何ですか? <code>SQLiteDataReader</code>オブジェクトの</p> <ul> <li><code>Close()</code></li> <li><code>Dispose()</code></li> </ul> <p>同じ:
- 26. 外部結合SQLテーブル? ACTIVITY_IDとの間のマッピングをACTIVITY_IDと</p> <ol> <li>アクティビティテーブル、CATEGORY_IDとACTIVITY_TYPE</li> <li>カテゴリーテーブル、カテゴリ名</li> <li>リンクテーブルと</li> </ol> <p>私は必要CATEGORY_ID -
- 27. <strong>春 セキュリティ</strong>で<strong>JSF</strong> Webアプリケーションを統合しようとしている春のセキュリティ
- 28. "位置:絶対":</p> <pre><code><html> <body> <div id="outer"><div id="inner"></div></div> </body> <html> </code></pre> <p>とそのCSS:CSS
- 29. ファイルからSpecficテキストを読み、</p> <p>/メイン-----------------------エクセル
- 30. マウスは、マウスが<code>.wrap</code>、<code>.cube</code>と<code>.front</code>のために働いてではなく、<code>.left</code>、<code>.right</code>、<code>.top</code>、<code>.bottom</code>と<code>.back</code>のためにされ
私はmavenビルドを実行していませんが、eclipseからjunitを実行しています。 Mavenはこの背後でこれを世話していますか?これはすでに既存のアプリケーションであったため、新しいプロジェクトを作成するときにこの動作を達成するための設定が必要かどうかを確認したいと考えました。 –
@PunterVickyあなたの 'junit'を実行すると' junit'ライブラリはテストフォルダ内のリソースを常に探します。テストを 'Run as-> Junit'として実行すると、IDEはクラスパスのjunitを使ってテスト。 'Junit'はテストフォルダからリソースを選択します – Pragnani
Thanks Pragnani !! –