2016-12-23 7 views
0

私はJavaプロキシについて読んでおり、Spring Core、Hibernate、Spring AOPを知っているので、Ehcacheはその実装です。 SpringCoreがプロキシを作成し、Hibernateがプロキシを作成し、SpringAOPまたはEhcacheがJavaプロジェクトでそれらのすべてを使用する場合、SpringCoreは同じことを行うため、私は混乱してしまいます。Javaアプリケーションで作成されたプロキシは、Springコア、Hibernate、Spring AOPを使用しますか?

作成するプロキシはいくつですか?誰かがこの問題を助けて、私に例を教えてもらえますか?

答えて

1

これらのフレームワークのそれぞれは、特定の設計上の選択と構成に基づいて、さまざまな数のプロキシを作成します。それは、あなたのアプリケーションをプロファイルすることだけです。

プロキシを使用するほとんどのフレームワークは、同様の理由でそれらを活用します。これらのプロキシは、コードが認識しているオブジェクトのように見えるプレースホルダとして機能するようになっています。内部実装の詳細は隠されており、フレームワーク固有のビジネスロジックが補足されることがよくあります。

たとえば、hibernateは、オブジェクトの遅延ロードされたコレクションをプロキシのコレクションとして公開する可能性があります。各プロキシは、そのコレクションでアプリケーションが期待するオブジェクトのように見えます。ただし、そのプロキシの内部状態は、最初にアクセスされるまではまだ読み込まれていないことがよくあります。この場合、プロキシはメモリ消費、結果セットの解析とデータベースの帯域幅、および他の多くのものを節約します。

関連する問題