問題タブ [spring-4]

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 投票する
1 に答える
626 参照

java - Spring 4 条件付き - リソースへのアクセス

spring 4 で最初のステップを実行するために、この記事に従って @Conditional アノテーションを試しました。

私の問題 - クラス OnSystemPropertyCondition のメソッド一致からクラスパス リソース (基本的にはプロパティ ファイル) にアクセスしたいと考えています。

これを行うために、現在、match メソッドが呼び出されるたびに必要なプロパティ ファイルをロードしています (これは、ConditionalOnSystemProperty アノテーションが付けられたすべてのクラスを意味します)。これは少し醜いです。洗練された解決策は、リソースまたは一部のプロパティを ( @Value アノテーションを使用して) 単純に自動配線することだと思いましたが、このクラスは Bean の前にインスタンス化されるため、これは実行できません。

このリソースを何度もリロードするのを避けるのに役立つ提案はありますか?

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

spring - Spring 4 と JSF ViewScope

Spring 3 および JSF 2.0 では、JSF ビュー スコープを使用したい場合、カスタム ViewScope 実装を導入し、Spring に CustomScopeConfigurer を介してそれを取得するように指示する必要がありました。

Spring 4 は、この面での JSF 統合において何らかの進歩を遂げましたか? それとも、Spring マネージド Bean でビュー スコープを活用するためにカスタム ViewScope 実装を定義する必要がありますか?

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

spring-aop - メソッドがプロキシでラップされていても、「org.hibernate.HibernateException: No Session found for current thread」

次のエラーが表示されます。


関連する春の設定:

いいえhibernate.current_session_context_class


ご覧のとおり、メソッドはプロキシでラップされていますが、まだセッションが見つかりません! このメソッドは、コントローラーメソッドではなくスケジューラーのジョブによって実行され、Spring コンテキストから daos などを取得します。トランザクションなどは、@transactional を使用しているコントローラー メソッドでうまく機能しています。

バージョン: hibernate-4.3.5、spring-4.0.4

手がかりをいただければ幸いです。

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

spring - Spring 4 STOMPが接続時にヘッダーにキューサフィックスを送信しない

Websockets と RabbitMQ をブローカーとして Spring MVC 4 を使用する小さなプロジェクトを作成しました。単一のユーザー (convertAndSendToUser) に送り返そうとしていますが、機能していないようです。アプリケーションの機能は次のとおりです。

  1. HTTP 経由で Spring Security に認証します。認証は AJAX を介して行われ、バックエンドはすべての新しい接続にユーザー名として UUID を割り当てます。同じユーザー名を持つ複数のクライアントが存在する可能性があるため、同じユーザー名でログインしている可能性がありますが、個々のブラウザーをターゲットにできるようにしたいと考えています。
  2. AJAX で認証した後、webapp は Websocket で STOMP を使用して API に接続します。これらは、CONNECT FRAME で送り返されるヘッダーです。

    body: "" command: "CONNECTED" headers: Object heart-beat: "0,0" server: "RabbitMQ/3.3.1" session: "session-OGzAN6T8Y0X9ft3Jq04fiQ" user-name: "88dc9424-72e3-4814-be8c- e31dbf89b521" バージョン: "1.1"

ご覧のとおり、frame-suffixまたは session-id フィールドはありません。

  1. バックエンドから convertAndSendToUser を使用すると、応答は /exchange/jobs-userh6g_48h9 のような一意のキューに送信されます。キュー名は /exchange/jobs ですが、Spring は自動的にサフィックス-userh6g_48h9を付加します。ユーザー名は "user" で、sessionId は "h6g_48h9" です。これで問題ありません。この動作が必要ですが、問題は、クライアント (webapp) が CONNECT フレームでこのセッション ID を取得せず、取得する方法がないことです。実際にその一意のキューにサブスクライブします。

これを解決するには?クライアントがこのサフィックスを取得して、独自のキューにサブスクライブできるように、接続時にキュー サフィックス/セッション ID が返されます。現在、この情報が不足しているため、サーバーからメッセージが返されません。

0 投票する
0 に答える
971 参照

java - サービス中のスプリング アクセス セキュリティ コンテキスト

Spring 4 アプリケーションの構成によってトリガーされるSecurityContextオブジェクトにアクセスしようとしています。これは 内では機能しませんが、構成では問題なく機能します。@Service@Schedule@Service@Controller

に同じセキュリティ コンテキスト参照をロードするにはどうすればよい@Serviceですか?

コンテキストにアクセスするために使用しているコードは次のとおりです。

出力は非常に単純です。

  • のうち@Controller:

    org.springframework.security.core.context.SecurityContextImpl@ffffffff: Null authentication

  • @Controller

    org.springframework.security.core.context.SecurityContextImpl@cf8b0421: Authentication: ....@cf8b0421: Principal: ....@1cd97f9; Credentials: [PROTECTED]; Authenticated: false; Details: ....t@60b45d5b; Granted Authorities: ....

web.xmlは:

私のapplicationContext.xmlファイルは次のようになります。

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

java - 別の非同期メソッドから呼び出される Spring 非同期メソッド

Spring 4 を使用していますが、奇妙な動作に気付きました...通常のインスタンス メソッドから async メソッドを複数回呼び出すと、それらはすべて異なるスレッドで呼び出され、ランダムな時間に終了します。しかし、別の非同期メソッドから非同期メソッドを複数回呼び出すと、順番に終了します。私はこのようなものを持っています:

デフォルトの非同期エグゼキュータを使用しています。別のものを使用する必要がありますか?ただし、このエグゼキュータはスレッドを再利用せず、毎回別のスレッドを開始するため、問題ないはずです...単なる偶然でしょうか? しかし、私は10回以上試しましたが、最初の方法で非非同期に戻すと、ランダムに終了します

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

spring-mvc - Jackson JSON - 作成時に非整列化するが、更新時に無視する

Spring 4 を使用して、リソース (以下の例の A) に、REST 更新 (http put および patch) を使用するときに無視する必要があるプロパティがあるユースケースがあります。プロパティは、作成時にのみ値を持つことができます (http 投稿)。そのため、 createでのアンマーシャリングではそのプロパティを考慮する必要がありますが、 update では無視する必要があります

コントローラーで

私が考えることができる 1 つの方法 (そして非常に洗練されていない方法) は、アンマーシャルを実行できるようにすることですが、更新メソッド内で strOnCreateOnly を手動で元の値に設定します。

しかし、Spring 4 と Jackson を使用して構成可能な方法はありますか (たとえば、注釈を使用し、非整列化からプロパティを無視するなど)? API の呼び出し元にエラーを送り返し、strOnCreateOnly の更新は許可されていないことを伝えても問題ありません。

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

java - Spring 4 例外処理 : 引数に適したリゾルバーがありません

問題文

Spring 4fromへの移行によりSpring 3、例外処理フローでいくつかの例外が発生します。例外はNo suitable resolver for argumentクラスでorg.springframework.web.method.support.InvocableHandlerMethod言います。

したがって、例外が発生するたびに、Spring取得する例外ハンドラーを見つけようとしますが、メソッド引数または例外ハンドラーを設定しようとすると、以下の例外がスローされます

@ExceptionHandler メソッドの呼び出しに失敗しました:

HandlerMethod の詳細:

基本的には@CRequestParam("p") String p 変数用です

コード

コントローラ

例外ハンドラ

注釈

パラメータ リゾルバ

XML 構成

ソースコード

https://github.com/santoshjoshi/SpringMVC4

0 投票する
0 に答える
885 参照

spring - Struts2 と Spring の統合による java.lang.IncompatibleClassChangeError

Spring 4.0.6 を struts 2.3.1.2 アプリケーションに統合しようとしています。これはmaven POMです:

これは、struts.xml の関連部分です。

最後に、これは春の applicationContext.xml です。

Spring アノテーションを使用してサービス レイヤーを構成しようとしていますが、次の起動例外が発生します。

struts2-spring プラグインは spring 4.0.6 と互換性がないのでしょうか?? 私は何が欠けていますか?

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

spring - Mybatis は Spring 4.x でサポートされていますか?

mybatis 3.2.5 および Spring バージョン 4.1.0.Release で mybatis-spring 1.2.2 を試しましたが、サポートされていないようです。

mybatis-spring 1.2.2 spring にはorg.springframework.core.MethodParameterクラスが含まれていますが、getContainingClass()存在しません。

私は例外を取得しています: java.lang.NoSuchMethodError: org.springframework.core.MethodParameter.getContainingClass()

Spring 4xでMybatisを使用できるという考えはありますか? (アイバティスでも未対応のようです)