問題タブ [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.
java - 非シングルトン Bean の Spring プロキシ キャストで BeanNotOfRequiredTypeException を修正しますか?
アプリケーション コンテキストから Spring Bean をプルする際に問題が発生しています。
やってみると・・・
わかります。
getBean() 呼び出しで指定されたクラスがないと、ClassCastException が発生します (以下で詳しく説明します)。
複数のインスタンスが必要なため、InnerThread Bean は非シングルトンとして初期化されています。InnerThread クラスも Thread を拡張します。興味深いことに、このエラーは、InnerThread とまったく同じように設定された OuterThread 内に表示されます。
以下に、関連するすべてのコード リスト/スタック トレースを含めようとしました。春の経験が豊富な人が、ここで何が起こっているのか教えてもらえますか?
コード/構成リスト
OuterThread.java スニペット:
SpringContextFactory.java:
app-context.xml:
スタックトレース
私の質問に答えない同様の質問
aop - アスペクト指向プログラミングを実際にどのように使用していますか?
なぜ AO の採用がこれほど遅いのか、私は困惑しています。主要な言語には豊富な実装がたくさんあります。私の推測では、今日の OO のように、それが自分たちを助けてくれる場所を人々が認識しないのは十分なパラダイム シフトであると思います。
では、非侵襲的なロギングを超えて、複雑さを軽減し、メンテナンスを改善し、システムの"ilities"を強化する AO を使用した、または使用する予定の方法は何ですか?
aop - アスペクト指向プログラミング (AOP) の短所は何ですか?
アスペクト指向プログラミングの重大な欠点と考えられる欠点は何ですか?
例: 初心者向けの不可解なデバッグ (読みやすさへの影響)
java - 本番システムでの AspectJ ロード時間の織り込み
本番システムで純粋な AspectJ の読み込み時間を織り込んだ経験がある人はいますか (主に興味深い Tomcat 関連のアクティビティ)? メモリ フットプリントと CPU オーバーヘッドが少し心配です。
c++ - ソースファイルを変更せずにビルド前のソースファイルを変更する方法は?
そのため、私は Visual Studio 2005 を使用しており、現在のプロジェクトでは AspectC++ のアスペクトの織り込みを処理する C# アドインを構築しています。アスペクト ファイルとソース ファイルを収集してアスペクト コンパイラにフィードするのは簡単ですが、これにより新しい (変更された) ソース ファイルが生成されます。標準の AspectC++ アドインをエミュレートしようとしています: http://www.pure-systems.com/AspectC_Add-In.22+M54a708de802.0.htmlであるため、プロジェクトのソース ファイルは変更せずに残しておき、ウーブン ファイルを C++ コンパイラにフィードします。これを行うことができると仮定すると (方法がわからない)、デバッガーが元のソース ファイルを正しく指すようにするにはどうすればよいでしょうか? ソースがコンパイルされたバージョンと一致する必要がないように VS オプションのチェックを外す必要があることはわかっていますが、ソース ファイルを直接変更せずに 2 つを関連付ける方法に途方に暮れています。何かアドバイス?
aop - ロギングとトランザクション管理以外に、AOPの実用的なアプリケーションは何ですか?
私は原則を理解していますが、実際のアプリケーションがいくつかの外にあるかどうかを確認するのに苦労しています。私に教えてください;)
spring - SpringとAspectJを使用した構成可能vsコンポーネント
AspectJを使用する場合、@Configurableではなく@Componentを使用する理由。
@Transactionalサポート、自己呼び出しの側面、およびJPAエンティティへのインジェクションのためのSpringとAspectJのセットアップがあります。これはうまくいきます。
インジェクションが必要なほとんどのクラスに@Componentを使用しているため、依存関係にインジェクションする必要があります。または、できない場合は、ApplicationContextを挿入してから、最後の手段としてgetBean()を使用します。そして、インジェクションが必要なJPAエンティティ(Hibernate)に対してのみ@Configurableを予約しています。また、テストの作成を容易にするために、jUnitテストに@Configurableを使用し始めました。これもうまくいきます。
しかし、私は興味があります。AspectJが、構築方法に関係なく、@ Configurableアノテーションを使用して何かを自動注入(ビーン化)している場合。getBean()、new()、@Autowired。すべてのBeanに@Configurableの使用に切り替えないのはなぜですか?次に、アプリケーションコンテキストとgetBean()を完全に廃止し、注入できないクラスをnew()だけにすることができます。
XMLBeanの構成については触れていません。私はそれを恥ずかしがりませんが、このプロジェクトはたまたま何も必要としません。テスト時に、コンストラクターまたはセッターが依存関係を注入するだけです。非常に簡単。