問題タブ [spring-bean]
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.
spring - BeanPostProcessor が MVC コンテキストで呼び出されない
コンテキスト階層を持つ Web アプリケーションがあります
a) コントローラを除外するスキャンを伴うアプリケーション コンテキスト:
b) controller を含む mvc コンテキスト:
私はこのbeanPostProcessorを「書いた」(自動的にロガーを設定する)
問題は、このプロセッサが @Controller クラスに対して呼び出されないことです。これは、独自のコンテキストでのみ Bean を処理するためです。
mvc コンテキストにある Bean (@Controller) を処理するにはどうすればよいですか?
ありがとう !
java - 要素タイプ「bean」の後に属性仕様「>」または「/ >」が続く必要があると表示されるのはなぜですか.at
1.これは、要素タイプ「bean」の後に属性指定「>」または「/>」が続く必要があることを理解するポイントです。
2. これは、ID と従業員の依存関係を注入する別の依存関係 Bean クラスです。
java - コンストラクター引数のオーバーロードによるスプリング インジェクションの問題
Spring Constructor Injection についてお聞きしたいです。そのため、クラスには、引数の数が異なる 2 つのコンストラクターがあります。
1番目のコンストラクターにアクセスするためにこのように注入しようとすると、あいまいさがあるためSpringが機能しません。
デバッグ コードは次のようになります。
つまり、Spring はインデックス 1 引数が存在するかどうかを知る必要があるということですか?
同じ数の引数を持つ 2 つのコンストラクターがある通常のケースとは異なります。というように、注入時に区別するためにタイプを設定できました。
私の場合、Spring に最初のコンストラクターを強制的に選択させる方法はありますか?
どうもありがとう!!
java - HandlerIntercaptor でリクエストスコープの Bean にアクセスする
私はSpringとWeb開発全般に非常に慣れていないので、質問が混乱したり不完全な場合はご容赦ください...
私は現在、いくつかの一般的に使用されるデータを保持する「requestContext」と呼ぶ Bean がある Spring プロジェクトに取り組んでいます。この Bean はリクエスト スコープであり、サーブレット フィルタ (GenericFilterBean の子) によって設定されるように見えます。
HandlerInterceptor の preHandle メソッドで、この Bean が保持する情報に別の Bean (UserBean を呼び出します) からアクセスしようとしています。UserBean では、以下のように @AutoWired を使用して Bean にアクセスします。
次に、UserBeans メソッドの 1 つで、必要なデータにアクセスしようとします。問題は、リクエスト コンテキストにすべて null 値が含まれていることです。フィルターに慣れていないため、ライフサイクルの問題があるのではないかと思いましたが、いくつかのブレークポイントを使用すると、handlerInterceptor の前にフィルターが実行されていることがわかり、リクエスト コンテキスト データが設定されていることがわかります。その場合、少なくともインターセプターの preHandle メソッドでアクセスできると予想されますが、他の方法ではそうではありません。
アプリケーションの残りの部分 (フィルター、ハンドラー インターセプターを含む) はすべて既存の/既知の動作コードであるため、その Bean を使用しようとする時点までセットアップの問題はないと思います。私の期待、またはアクセスしようとしている方法に問題があります。
更新: 実際に requestContext を使用するクラスの例を 1 つ見つけました。これは別のフィルターです (ただし、フィルターを直接実装するのではなく、GenericFilterBean を拡張します)。このフィルター呼び出し
SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this)
その init() メソッドで。requestContext にアクセスしようとする直前にこの呼び出しを行うと、期待する値でインスタンス化されることに気付きました (また、デフォルトのコンストラクターで実行すると機能しないことにも注意してください)。私の場合、これは正しい解決策ではないことがわかりましたが、これが問題に光を当てることを願っています.
SpringBeanAutowiringSupport を読んで理解を深めようとしています。私が正しく理解していれば、これは私の Bean が現在 WebApplicationContext にアクセスできないことを示しているため、この呼び出しが行われるまで Autowiring はデフォルトで機能しません (呼び出しが行われると、後続の要求は機能しないようです)。必要です)。これは、Bean の構成方法に問題があることを示していますか (IoC に正しく登録されていませんか?) 繰り返しますが、Spring に関する知識が不足していることをお許しください。IoC などのことについてはまだあまり知りません...
java - 抽象クラスの個別の Bean を自動配線する
次の問題があります。
抽象クラスがあるとしましょう:
次に、SomeInterface
-> A_Interface
、などのいくつかの実装。これは、すべての実装B_Interface
で同じものを使用すれば問題ありません。SessionFactory
問題はSessionFactory
、実装の個別のグループに個別を使用したいのですが、. で指定したくないことです@Qualifier
。コードを変更する必要があるため、これらのグループを定義するには柔軟性が低くなります。また、アノテーションSessionFactory
で指定できない場合は、抽象クラスに入れます。@Qualifier
xml Bean 定義でそれを行う方法はありますか? 2 つの Bean を宣言しSessionFactory
、それぞれに対応するクラスを参照してみましたが、それでもNoUniqueBeanDefinitionException
.
spring - Spring Bean GeoModule Bean の RepositoryRestMvcConfiguration へのインジェクション
現在、Spring Data Rest をテストしており、REST インターフェイスを介してエンティティの主キー (ID) を公開したいと考えています。
これを行う適切な(?)方法は次のとおりです。
問題は、Bean 定義を次のように変更した場合です。
これから:
アプリケーションが起動しません...
エラーは次のとおりです。
基本的に、GeoModule Bean が見つからないため、RepositoryRestMvcConfiguration ベースに自動配線できません...
ここで面白いのは、Bean を定義することです。
エラーは次のように変わります。
つまり、Bean を定義しない場合は 0 ですが、Bean を定義すると 2 になりますか?