問題タブ [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.
java - Spring Bean のコンストラクター引数は、渡したいオブジェクトを拒否します (myInterface を実装します)。コンストラクターのパラメーターは myInterface 型です
タイプ AuthenticationController の Bean を生成しようとしています。認証コントローラーのコンストラクターには、securityDataSource と呼ばれる DataSource 型のパラメーターが 1 つあります。セキュリティ コンテキスト xml で、次のコードを使用して Bean を宣言します。
webSecurityConfig.xml からの抜粋:
Bean securityDataSource の定義は次のとおりです。
AuthoritiesController.java
返されるエラーはCaused by: java.lang.IllegalArgumentException: 'dataSource' or 'jdbcTemplate' is required
. なぜ今これを許可するのでしょうか?DriverManagerDataSource は DataSource の実装なので、パラメーターとして渡すことはできませんか?
編集:ここに完全なエラーがあります-
spring - プロジェクトが常に最新の spring-beans 3.2.*.RELEASE アーティファクトをダウンロードしようとするのはなぜですか
次の春の依存関係を持つ春の MVC Web アプリケーションがあります。
私の質問は、mvn clean install を使用してビルドすると、spring-beans-3.2.10.RELEASE をダウンロードしようとすることです。依存関係の 1 つがそれをドラッグしていると想定していますが、どれかはわかりません。
どんな助けでも大歓迎です。前もって感謝します。
java - コンストラクターで単一の引数を自動配線する
2 つの引数を持つコンストラクターでは、一方を明示的に配線し、他方を自動配線したいと考えています。
何かのようなもの:
そして、Bean 定義では:
誰も方法を知っていますか?
spring - lookup-method の Spring コード置換
私は Spring で Restlet Framework を使用しており、現在 xml で構成しています。restletRouter
では、次の形式のリソースのマップがあります[[path, resource], ...]
。リソースを作成するには、現在、次のようなルックアップ メソッドを使用しています。
loginResource
として指定されます@Component
。ここがトリッキーな部分です。さらにリソースを追加すると、構成が乱雑になり、それは望ましくありません。私は注釈構成を好みますが、それを行うには、lookup-method の代わりが必要です。
上記の構成方法で作成されたかのように、実行時にSpringFinderクラスを作成したい。
それを行う方法はありますか?
java - 特定のプロファイルが設定されているときにSpring Beanをロードしない
背景:外部システムとのインターフェースとなる Bean がいくつかあります。開発の場合、外部システムをモックし、インターフェース Bean を多かれ少なかれ静的な応答を生成するいくつかの実装に置き換えると便利です。だから私がやっていることは、次のようなインターフェイス、実際の実装、およびスタブ実装を作成することです。
...これはうまく機能します。スタブ プロファイルが存在しない場合、スタブ Bean はまったく読み込まれません。存在する場合、 @Primary アノテーションにより、実際の実装にうまく置き換わります。
問題:しかし、同じインターフェースの 2 つの実際の実装を実際に取得した状況で初めて実行しました。そのうちの 1 つはプライマリとして定義されていますが、もう 1 つはアプリケーション コンテキストからロードして使用することもできます。
両方を置き換えるスタブ サービスを作成したいのですが、今回はスタブを @Primary として定義する古い方法は機能しません。プライマリ実装が既に 1 つあるからです。基本的に必要なのは、スタブ プロファイルが設定されているときにプライマリ Bean をロードしない方法ですが、それを正確に行う方法がわかりません。Web 検索やその他のスタック オーバーフローに関する質問は役に立たないようです。
java - Beanプロファイルの重複定義を使用したSpringセキュリティ保護ポイントカット
Spring セキュリティを使用する場合、実行中のプロファイルごとにメソッドに対して異なる許容ロールを定義したいと思います。私が抱えている問題は、protect-pointcut 定義がコンテキスト プレースホルダーを受け入れないように見えることです (access="${secured.role} を使用している場合は変換されません)。各 Bean プロファイル内にセキュリティ要素を配置すると、STS は次のようになります。複数の global-security-method 要素が存在することを示す警告. 私はこれがなぜそうであるかを理解しています, 両方がこれをロードした2つのプロファイルを実行した場合、両方がロードされます. 1つのプロファイルのみを実行した場合 (これは私の意図です)正しいものがロードされます。
ここに私の定義があります:
STSを満足させながら、セキュリティ定義内でプロファイルベースの役割を達成する方法はありますか? これは実行されますが、プロジェクトにエラーがあるだけで、私には受け入れられません...
java - Spring MVC に国際化を追加する方法
Spring ベースのプロジェクトに国際化を追加しようとしています。たくさんのガイドを試しましたが、うまくいきません。私はこれに長い間立ち往生しており、何が問題なのかを見つけることができません。まず、mvc-dispatcher-servlet.xml
次のようになります。
私のmessages_en.properties
ファイルには以下が含まれています:
また、私のJSPではプレースホルダーを使用しました:<spring:message code="label.firstName" />
これは私のプロジェクト構造です:
どんな助けでも大歓迎です。
編集:souserのコメントのおかげで、国際化メッセージを含むリソースフォルダーが展開された戦争(Tomcat上)にないことがわかりました。存在する唯一のリソース フォルダーは、静的リソース (スクリーンショットのプロジェクト構造の /WebContent/resources/) を含むフォルダーです。
grails - Grails - アプリケーション コンテキストを介して taglib Bean を取得する
次の方法で、コントローラー内のカスタム taglib にインスタンスを取得しようとする場合:
次のエラーが表示されます。
「com.mypackage.MyTagLib」という名前の Bean が定義されていません。スタックトレースは次のとおりです: org.springframework.beans.factory.NoSuchBeanDefinitionException: 'com.mypackage.MyTagLib' という名前の Bean が定義されていません
ただし、組み込みの taglib のインスタンスを問題なく取得できます。
以下によると、これはうまくいくはずです。私のtaglibが有効なBeanとして認識されない理由は誰にもありますか?
Grails 2.4.0 を使用しています