問題タブ [spring-aop]
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 - MethodInvocation は常にポイントカット式から null を返します
以下のように 1 つのポイントカットを定義しました。
私が電話するとき
私は常にnullになっています。
ヒントを教えてください。前もって感謝します
java - サブクラスのスプリング aop アドバイス メソッド
特定のインターフェイスまたは抽象クラスを拡張または実装するすべてのクラスの特定のメソッドについてアドバイスしたいと思います。spring aop 2.5 を使用してこれをどのように達成できますか。
spring - に相当する注釈
xml構成からannoationsに移行しています。セッションスコープのBeanを変換したい
これはアノテーションを使用して実行できますか?そうでない場合でも、その宣言を機能させ続けるために何ができますか?
編集: Spring2.5でこれを行うことに興味があります
java - どのデザインパターンを使用すればよいですか?SpringFrameworkを使用する
オークションサイトを作成中です。オークションにはさまざまな種類があります。オークションの種類に応じて、勝者の宣言が行われます。
例:-*オークションの1つのタイプ:-より高い入札をしたユーザーが勝ちます。*他のタイプの場合:-最低入札価格のユーザーが勝ちます。*一部のタイプ:-所有者が勝者を決定します。*一部のタイプ:-最初の10人の入札者がオークションに勝ちます。
ストラテジーパターンは、「オークションの勝者」を決定するモジュールの設計に適しているようです。
それで
「オークションの種類」に基づいて、システムが適切なアルゴリズムを選択して勝者を決定します。勝者を選択するためにオークションの種類に必要なすべてのパラメータが提供されます。私は、勝者宣言モジュールを実装するために戦略パターン(AOP方式である可能性があります)を使用することを考えています。
このアプリケーションはSpringFrameworkに基づいていますが、上記の問題を処理するためのエレガントなデザインを誰かに提案してもらえますか。どのパターンを使用すればよいですか?AOPに行くべきですか?
必要に応じて詳細をお知らせします。
前もって感謝します。
java - Spring 3 では、抽象メソッドが推奨される抽象クラス Bean をインスタンス化できますか?
私は、自分のニーズに合わせて一種の ORM フレームワークを実行したいと考えています。モデルを抽象クラスとして記述したいのは、いくつかのメソッドが実装され、いくつかは抽象化されたままになり、注釈が付けられ、アスペクト Bean によって実装される (実際には、それらの実行がインターセプトされる) 必要があるためです。多くの構成なしで、これをきれいに実装することは可能ですか? 理想的には、モデル Bean に XML 構成を設定しないことをお勧めします。
UPD:アイデアは、明示的な実装または拡張クラスを望まないということです。とにかくAOPはプロキシを作成します - それは私のBeanのインスタンスとして自動的に使用できますか?
UPD2:ほぼ 2 年が経過し、最初の回答を正しいものとしてマークしたいと思いました。
私の考えはSpring Data JPAを予測していたようです。カスタム名前空間を使用して、JPA リポジトリの対応するインターフェースを自動的に実装する Bean を作成します。そのためにファクトリーパターンが使用されていると思います。
また、Spring の JavaConfig を使用すると、Bean として返す前に、クラス インスタンスを簡単にインスタンス化および拡張できます。
java - Spring AOP の起動時間が遅い
@AspectJ
スタイル アノテーションと<aop:aspectj-autoproxy/>
. トランザクション、監査、プロファイリングなどに使用します。コードが追加されるにつれてアプリケーションの起動時間が継続的に増加することを除けば、問題なく動作します。
いくつかのプロファイリングを行ったところ、Spring コンテナーの初期化中にほとんどの時間が費やされていることがわかりました。具体的にorg.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(String, ObjectFactory)
は、約 35 秒かかります。
org.springframework.aop.support.AopUtils.canApply(Pointcut, Class, boolean)
- 約15秒かかります。
私の目標は、現在のように約 45 秒ではなく、5 ~ 10 秒でアプリケーションを開始することです。そのため、ヒントをいただければ幸いです。
java - @Configurable を使用した Spring オートワイヤリング
私は、Spring を使用し、DAO をドメイン オブジェクトに注入して、永続層の直接的な知識を必要としないようにするというアイデアで遊んでい@Configurable
ます@Autowire
。
http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/aop.html#aop-atconfigurableに従おうとしていますが、私のコードは効果がないようです。
基本的に、私は持っています:
と:
と
application-context.xml には、次のものがあります。
クラスパスのスキャンと初期化は、Play! の spring モジュールによって実行されます。フレームワーク、他の自動配線された Bean は機能しますが、これが根本的な原因ではないと確信しています。私はSpring 3.0.5を使用しています。
他のコード (実際、Spring を使用してコントローラーに注入された Bean のメソッド内) では、次のようにしています。
これにより、Artist.save() で artistDao にアクセスしようとすると、NullPointerException が発生します。
私が間違っていることは何か分かりますか?
マーティン
java - Springは、newによって作成されたオブジェクトでトランザクションを開始します
アノテーションが付けられたメソッドを持つPOJOクラスがあります@Transactional
Spring の宣言型トランザクション管理は AOP に基づいていますが、私はその経験がありません。私の質問は次のとおりです(new Pojo).doInTransaction()
。単独で呼び出したときに、Spring がトランザクションを開始する可能性はありますか。
java - メソッド注釈の値を利用する特定のポイントカットを作成するのに助けが必要
私は次の方法を持っています
基本的に私がやりたいことは、processAutoHandling() にポイントカットを設定することですが、@After では @AutoHandling に slot() を使用する必要があります
これを試しましたが、呼び出されません
spring - メソッド内に特定のポイントカットを作成するためのヘルプが必要
メソッドアノテーションからの値を利用する特定のポイントカットを作成するためのヘルプが必要であるという元の質問から始めました
私は、自分が取っているアプローチを変えるために、別の質問をしたいと思いました。メソッド(ナビゲーション)があり、そのメソッド内で、@Aroundのアドバイスが必要な別のメソッドを呼び出しています。
メソッドが同じクラス内にある場合、これを機能させることができないように見えるので、これは可能ですか?
これは、オブジェクト自体にない場合に機能します。
私のコントローラーでこの呼び出しを使用すると:
それ以外の