問題タブ [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.

0 投票する
2 に答える
7499 参照

json - Spring は JSON 構成をサポートしていますか?

Spring に、XML ではなく JSON (または実際には他の形式) を介して ApplicationContext を構成できる拡張機能があるかどうかは誰にもわかりませんか? 公式ドキュメントには何も見つかりませんでしたが、これを可能にするオープンソースの拡張機能が他にないかどうか疑問に思っていました.

明確にするために、Spring MVC を構成して RESTful JSON ベースの Web サービスなどをセットアップすることについて話しているのではなく、XML ではなく JSON を介して Spring アプリの構成を行うことが可能である場合に限ります。

0 投票する
3 に答える
48432 参照

java - .propertiesファイルのPropertyPlaceholderConfigurerおよび環境変数

.propertiesファイルからプロパティの値を取得するためのPropertyPlaceholderConfigurerを備えたSpringapplication-context.xmlがあります。メインフォルダとテストソースフォルダには、別々の.propertiesファイルがあります。問題は、.propertiesファイルで環境変数を使用する必要があることです。しかし、私がそれを次のように行うとき:

次のエラーが発生します。

プレースホルダーコンフィギュレーターは次のように定義されます

property.nameを環境変数として(プレースホルダーとしてではなく)解釈する方法についてのアイデアはありますか?

よろしく、Dmitriy。

0 投票する
1 に答える
6394 参照

spring - エラー: 要素 "security:authentication-provider" のプレフィックス "security" がバインドされていません

私のapplication-security.xmlファイルは次のとおりです。

すべて正常に動作しますが、「要素 "security:authentication-provider" のプレフィックス "security" がバインドされていません」という奇妙なエラーが発生します。終了タグを指定しましたが。この問題を解決する方法について手がかりを持っている人はいますか?

0 投票する
2 に答える
1086 参照

java - Maven を使用して複数の独立した Spring アプリケーションを配線する

私のプロジェクトは、複数の Spring サブプロジェクトで構成されています。

  • サービス1
  • サービス2
  • サービス3

すべてのサービスには、内部の他の Bean への複数の依存関係があるため、すべてのサービスには、サービスを結び付ける applicationContext.xml があります。

私はすべてのサブプロジェクトをスタンドアロンの Maven ビルドにし、これらの Service{1..3} を一緒に接続する AllServicesTogether アプリケーションを作成できると考えました。

これは、これらのサービスに maven の依存関係を追加することで機能します。

ただし、AllServicesTogether アプリケーション内では、SubServices のすべての配線が失われます。サブサービスはサブサービス ApplicationContext でコンパイルされていないと思いますが、AllServicesTogether ApplicationContext を使用します。

アイデアは、SubSerivces のすべての配線をカプセル化し、次を使用して AllServicesTogether を単純に配線することです。

私はそれに何時間も費やしたより大きなプロジェクトからそれらのサブプロジェクトを作成しました。この配線方法を使用することは可能ですか、それともすべてのサービスから context.xml を含める必要がありますか?

0 投票する
1 に答える
10202 参照

java - Jarからの複数のXMLファイルを含むSpringApplicationContext

現在のMavenビルドの「メイン」applicationContext-a.xmlを使用してApplicationContextを作成する必要があります。他の1つは、別のMavenビルドからのクラスを配線し、MavenDependencyに含まれるjarに事前設定されています。

ここにアイデアがあります:

これは、同じプロジェクト内にあるため、クラスパスからapplicationContext-a.xmlをロードする必要があります。これは機能します。

次に、applicationContext-b.xmlをdependency-jarからロードする必要があります。 これは機能しません。

ご了承ください

直接クラスパス内のXMLにのみ一致し、jar内には一致しません。

私が見つけたもの:

これは機能しますが、jar内のxmlのファイル名を明示的に伝えることができる場合に限ります:applicationContext-b.xml

統合テストで機能するには、これも必要です。

最良のアイデアはカスタムローダーかもしれませんか?このパターンを機能させる方法が必要です...

少し前に解決策がありましたが、それは逆に機能します。それは、jarからapplicationContext.xmlを取得するだけです。クラスパス内に別のファイルがある場合は、このファイルでのみ一致します。

0 投票する
1 に答える
123 参照

spring - Spring Bean をロードする練習

皆さん、

ApplicationContext から Spring Bean をロードするための推奨される方法は何ですか? サーバーの起動時にこれをロードし、Bean 情報をコンテキストに保存するように ServletContextListener を作成しますか?

または、実行する静的メソッドを記述します。

そして、この静的メソッドを常に呼び出しますか?

それとも public void メソッドを書き、それを常に呼び出しますか? この場合、Spring Bean は毎回初期化されますか? これはコンテナによる作業が多すぎるように見えます。

提案してください、ありがとう。

0 投票する
4 に答える
8382 参照

java - 春のJavaアノテーションスキャン

名前で注釈を付ける必要があるクラスがほとんどないため、注釈を次のように定義しました

この注釈が必要なクラスは次のように定義されます。

以下のコードを使用して注釈をスキャンしました

問題は、返されたマップに含まれていることですが、キーとして["myClassInfo" -> object of MyClassInfo]マップを含める必要があり"myClass"ます。これは、Bean 名ではなく注釈の値です。

これを行う方法はありますか?

0 投票する
1 に答える
11479 参照

java - Spring 3はカスタムBeanでservletContextを受け取ります

私の問題は、Bean でサーブレットコンテキストを取得できないことです。カスタム Bean「FileRepository」を作成しました。そこで ServletContext を取得する必要があります。ここにコードがあります

ApplicationContext.xml への登録

saveFile(File file) が起動すると、servletContext == null のため、Nullpointerexception が発生します。

では、なぜ servletcontext が注入されないのでしょうか? ContextLoaderListener を web.xml に登録しています

いくつかのスコープがあることがわかりました。問題があるかもしれません。applicationsontext スコープについて簡単に説明するか、リンクをお願いします。手伝ってくれてありがとう。私はこの問題に多くの時間を費やしました。

いくつかのデバッグの後、アプリの起動時に servletcontextaware の setServletContexr メソッドが実際に呼び出されたことを理解しましたが、コントローラーから FileRepository でファイルを保存しようとすると、それはすでに null servletContext フィールドを持つ別のオブジェクトでした。

コントローラーのように、必要なときにカスタム Bean でサーブレット コンテキストを autowier する方法はありますか?

最後に、ServletContextAware 経由で servletContext を取得します。fileRepository Bean の作成方法を変更します。これから

これに

0 投票する
2 に答える
15147 参照

spring - Spring 3 スキーマを読み込めません

私はSpring 3.0.5.RELEASEを使用していますが、今日mavenでプロジェクトをビルドすると、 appicationContext.xmlファイル で次のエラーが発生します:

私はスキーマのリンクを開こうとしました:

しかし、私は常に禁止されたページを取得します!

applicationContext.xmlを構成する方法は次のとおりです。

このエラーを修正する方法を教えてください。

0 投票する
1 に答える
4679 参照

spring - Spring DI applicationContext.xml xsi:schemaLocation はどのように使用されますか?

注: 私が言及しているテスト プロジェクトは、次の方法でダウンロードできます。

git クローン https://github.com/mperdikeas/so-spring-di-appcontext-schemalocation.git

.. 'ant run' で実行します。

XML名前空間名は不透明な識別子として使用されるだけで、URIとして使用されることを意図していないことを「理解」しています( wikipedia )。また、XML スキーマの場所は、スキーマ ドキュメントの実際の場所に関するヒントを提供するためのものであり、ヒントであるため、実際には使用されないことも「理解」しています ( w3.org )。そのことを念頭に置いて、applicationContext.xml を変更することにより、単純な Spring DI アプリケーション (単純な J2SE 設定で使用) を試してきました。開始バージョンは次のとおりです。

「sudo ifconfig eth0 down」を実行すると、プロジェクトは完全に実行されました。これは、schemaLocations から何もフェッチする必要のないランタイムと一致しています。しかし、各ペアの 2 番目の URL に単純なアンダースコアを追加して schemaLocations を壊したところ、次のような苦情がありました。

これは、Spring DI ランタイムが xsi:schemaLocation の各ペアの 2 番目の URL をある種の識別子として使用することを示唆しているようです (ネットワーク アクセスがないため、ロジックでハードコーディングされています)。したがって、Spring DI ランタイムは名前空間ごとに 2 種類の識別子を使用すると仮定します。名前空間を一意に識別するxmlns識別子 (不透明な文字列として使用) と、その名前空間のスキーマ バージョンを一意に識別するschemaLocation識別子 (再び使用)不透明な文字列として)。つまり、名前空間をバージョン管理するためにschemaLocationが実際に使用されます (ゆがんだ方法で? それはw3cドキュメントの意図ではないようです)。さらに、そのような場合、Spring DI ランタイムは、なぜ" p " 名前空間のschemaLocation 。私のメンタルモデルは正しいですか?