2012-01-11 22 views
7

誰もが春のいわゆる「メタアノテーションを」のための機能が含まれているものを春JAR、どこでそれを見つけること!)知っています。 this記事が示すように、これらのクールな「新」(まあ、みかん)構築物は、このようなコードを許すよう:春メタ注釈

@Service 
@Scope("request") 
@Transactional(rollbackFor=Exception.class) 
@Retention(RetentionPolicy.RUNTIME) 
public @interface MyService { 
} 

@MyService 
public class RewardsService { 
    … 
} 

基本的に、私はは現在、春を使用していないのSwingアプリを持っています。私はこれらの注釈を使用することができれば、非常に簡単に変更することができます。

だから私はこの機能が見つかる最小の、最小侵襲性のスプリングJARを探しています。絶対必要な場合は、私はSpring全体を使用することができますJAR、しかしそれは非常に重手の解決策になります。 Springがより小さなスコープの機能を持つより小さなJARをリリースしたなら、それはうれしいことです。

私はMavenのレポをbrowswingと呼ばれるパッケージが含まれているspring-coreを参照しています:

org.springframework.core.annotation

しかし、APIドキュメントの検査時に、それはいないようですが私は必要なもの...

補助質問もしますスタンドアロン構築物としてこれらのメタアノテーションを使用することも可能である、または私はには、例えばSpring DIやAOP、あるいはSpringフレームワークの他の主要部分と一緒にそれらを使用するにはがありますか?

ありがとうございます!

+0

注釈で何かをするコードがなくても、注釈はどのように機能しますか?注釈はちょうどそれです - メモ、メタデータ、他のコードで使用することができます。それだけでは何もしません。 –

答えて

4

あなたが望む注釈は、関連するjarになります。たとえば、org.springframework.transaction.annotation.Transactionalの注釈はspring-transactionsのアーティファクトになります。

メタアノテーションは、以前のアノテーションではなくアノテーションのアノテーションを検出するという点以外は、通常のアノテーションと実際には違いはありません。注釈が「うまくいく」かどうかは、それらを探しているかどうか(この場合はSpringコンテキスト内の何か)によって決まります。

詳細については、Spring frameworkリファレンスのAnnotation-based container configurationを参照してください。

+0

ありがとうございましたDev - それは遅くて終日起きていたかもしれませんが、あなたの反応を理解するのにちょっとした問題があります。これらの「メタ注釈」が定義されている*場所が1つもないと言っていますか、またはそれらは「スプリングコンテキスト」のどこかに根ざしていると推測していますか?再度、感謝します! – IAmYourFaja

+0

注釈自体は、それらが定義されている任意のjarファイルで定義されます。 'spring-context'には、注釈を動作させるフレームワークが含まれています。私は、あなたにそのテーマに関するさらなる読書を提供するために私の答えを修正しました。 – Dev