問題タブ [applicationcontext]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - コンテキストを別のコンテキストに挿入することは可能ですか?
質問はそれほど明確ではないかもしれませんが、例を挙げれば、私はそれを明らかにすると思います。私のプロジェクトには、統合テストとシナリオテストの2種類のテストがあります。どちらもデータソースが必要です(カスタムメイドのpropertyplaceholderを使用)。
統合テストケースのコンテキストでは、次のように、データソースとプレースホルダーのみを定義します。
私のシナリオテストケースコンテキストでは、これらのオブジェクトも(他のものと一緒に)必要ですが、シナリオコンテキストに統合コンテキストを作成したいので、ある種の継承が必要です。
私はすでにclassPathApplicationContext
シナリオテストケースでそれを試しました(一度trueでlazy-initを使用)、次のようになります:
dataSource
しかし、彼はシナリオコンテキストでを作成しません。これはグーグルするのが非常に難しい問題です、それで私はここでそれを尋ねています。私は誰かが解決策を持っていることを願っています。
java - Jar内からコンテキストをロードする
いくつかの説明が必要です。作成したjarがあり、jarの中に、ロードする必要のあるカスタムapplication-context.xml
ファイルがあります。jar内のクラス内にファイルをロードします。このapplication-context.xmlのURLを設定するとき、ディレクトリはjarのクラスパスに固有ですか、それともjar-のクラスパスを使用しているプロジェクトですか?
例えば -
Jarのクラスパス:
プロジェクトのクラスパス:
私はこれらのURLが正確ではないことを知っています:P-しかし、私のコンテキスト作成の内部では、どのディレクトリ構造に従うのでしょうか。これはすべて理論上のものです。今日誰かが私にこれを尋ねました、そして私はそれに答える方法がわかりません。jarからクラスを呼び出す場合、クラスパスはそのjarの内容に相対的である必要があると思います。しかし、私が思うことは常に正しいとは言えません:)
spring - Spring MVC 2.5 アノテーションと XML 構成を組み合わせて使用しますが、xml は無視されます
私のSpring MVC Webアプリケーションでは、xmlベースの構成と注釈を混在させたいと考えています. 、など@Controller
の注釈を使用して、をメソッドに解決します。したがって、私は追加しました@RequestMapping("bla.htm")
@RequestParam
HttpRequest
Controller
私にdispatcher-servlet.xml
。
しかし、私のコントローラーには属性があります。@AutoWired
これらの属性は、アノテーションを介して注入できます。しかし、スコープも定義しています。したがって、属性ごとに2つの注釈があり、コードが読みにくくなります。したがって、ファイルに依存関係を挿入したいと考えていapplicationContext.xml
ます。
注釈駆動型のリクエスト マッピングを維持しながら、依存関係の挿入に context.xml ファイルを使用する方法はありますか? または、注釈またはxml構成のいずれかのみを使用できますか?
注: 依存性注入の Bean は別の xml ファイルにあります。
PS:
私はSpring 2.5を使用していて、アップグレードできません。
spring - Component Scan で Tomcat webapp の JAR に @Component が見つからない
Spring バグシステム ( https://jira.springsource.org/browse/SPR-8551 ) にバグを報告しましたが、何か不足しているかどうかはまだわかりません。
<context:component-scan/>
このステートメントの問題を突き止めました。Web アプリケーションの WEB-INF/lib 内の同じ JAR にある次の 2 つのクラスがあるとします (JAR ファイルにはディレクトリ構造があります)。
テスト/TheBean.java:
テスト/BeanSearcher.java:
jUnit テスト ケースまたは他のタイプのスタンドアロン アプリケーションで実行new BeanSearcher().init()
すると、b に TheBean のインスタンスが割り当てられますが、たとえば JSP で実行すると、ctx.getBean()
null が返されます。
それで、私は何か間違ったことをしているのですか、それとも何かを考慮していないのですか、これは単なるバグですか...?
編集 2011 年 8 月 8 日: 問題を単純化しようとしたため、うまく機能しているように見えますが、それでも機能させようとすると、OpenCms の初期化で失敗します。現在、動作中のバージョンと動作していないバージョンの違いを探しています。(クラスローダー、異なる JAR 内または直接 WEB-INF/classes 内の関連クラスの ubication、リフレクションを介した呼び出しなど)
spring - 部分的な Spring コンテキストのロード
私はSpringの専門家ではありませんが、巨大なコンテキストファイル(モジュールに分割されていない)を持つレガシーシステムを与えられました。
システムのさまざまな部分を実際の運用構成で検証する単体テストをいくつか追加したいと思います。ClassPathXmlApplicationContext/FileSystemXmlApplicationContext
クラスを使用してコンテキストをロードし始めましたが、それには永遠に時間がかかります。元のファイルをモジュールに分割する必要なく、コンテキスト ファイルの一部のみを (再帰的に) ロードすることは可能ですか?
更新: Maven を使用した Ralph のソリューションの実装をここに投稿します: my pom.xml:
私のテストコンテキスト変換.xml:
java - Spring Framework のアプリケーション コンテキストはユーザー固有ですか、それともアプリケーション固有ですか?
.xml ファイルからロードするアプリケーション コンテキストは、すべてのユーザーに対して一度ロードされるコンテキストのように、ユーザー固有のレベルですか、それともアプリケーション レベルですか? またはすべてのユーザーが個別のアプリケーション コンテキストを持っていますか?
Javaで春のフレームワークを使用している間?
xpath - ContextLoaderListener のアプリケーション コンテキスト パスを変更する方法
私のアプリケーションでは、デフォルトで org.springframework.web.context.ContextLoaderListener が WEB-INF フォルダー内の Applicationcontext.xml を探します。Applicationcontext.xml ファイルを src/main/resources フォルダーに移動します。しかし、これを行うと、エラー java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml] が発生します。
リソース フォルダー内のファイルを検索するように ContextLoaderListener を指定するにはどうすればよいですか? 助けてください
spring - プレゼンテーション (Struts) パラメーターを (Spring) ApplicationContext に渡し、それらを Hibernate Interceptor で使用する
タイトルが長くて申し訳ありませんが、他に具体的に言う方法がわかりませんでした。
私が持っているもの:
Hibernate Interceptor を使用して Hibernate 呼び出しをインターセプトし、監査ログ エントリを追加する監査証跡モジュールを開発しています。これはうまくいきます。
私の Web アプリケーションは Struts2 と Spring を使用しています。私の Hibernate Interceptor は、Spring の ApplicationContext にアクセスできます。
私が欲しいもの:
各監査ログ エントリに「意味を与える」必要があるため、プレゼンテーション レイヤー (Struts) で行われた各リクエストのパラメーター (文字列メッセージなど) を Spring の ApplicationContext に渡す必要があります。そうすれば、Hibernate Interceptor のパラメーターにアクセスして、それに応じてログに記録できます。
例:
- Struts - ユーザー詳細ページ: setPassword(user1, mypass)、「User1 がパスワードを変更しました」という新しいメッセージを生成します。
- このメッセージは、Spring の ApplicationContext に注入されます。
- Hibernate Interceptor は「更新」をインターセプトし、Spring の ApplicationContext から前のメッセージを取得して、メッセージを含む新しいログ エントリを作成します。
これを行う方法を知っていますか?
android - getApplicationContext() で NullPointerException を取得する
アプリを開いたときに Nullpointer 例外が発生しましたが、これはバックグラウンドでした。私の onResume は、このメソッドを呼び出す Asyntask を呼び出します。
しかし、ご覧のとおり、変数 mMyApp が != null であるかどうかを確認しています。getApplicationContext() が null を返す可能性はありますか?
spring - spring context.refresh() と同時アクセス
エンタープライズ アプリケーションの構成サービスとして spring を使用する予定です。
この部分は、スプリング リファレンス ガイドや他のブログで十分に文書化されています。基本的に、プロパティ ファイルと context:property-placeholder を使用して、アプリケーションで使用される Bean に値をインスタンス化および設定する予定です。
プロパティ ファイルが変更される場合があり、その場合、変更された値を Bean に反映させたいと考えています。ApplicationContext.refresh() が Bean とその構成値を更新する方法であることを理解しています。ApplicationContext.refresh() は魅力的に機能しました。
ただし、コンテキストが更新されているときに、 ApplicationContext.getBean() への同時呼び出しまたは Bean での getter 操作がIllegalStateExceptionまたはBeanCreationExceptionにより失敗する可能性があることがわかりました。
質問
- context.refresh() への呼び出しが他の同時呼び出しに影響を与えない可能性はありますか
- context.refresh() がアプリケーションコンテキストへの同時アクセスを妨害する可能性がある場合、これを回避するための戦略はありますか?
あなたのポインタは大歓迎です。