2017-11-08 3 views
0

私はフレームワークから2つの注釈を持っています。しばしば、私は同じ分野の両方でこれらの2つの注釈を使用します。したがって、私は両方の2つを含む "結合"注釈を作成しようとしています。複数の注釈を1つに結合するにはどうすればよいですか?

しかし、それがすべてで可能である場合、私は知らない。私は「

@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD}) 
@Retention(RetentionPolicy.RUNTIME) 
public @interface ApiParam { 
    String name() default ""; 
} 

@Target({ElementType.METHOD, ElementType.FIELD}) 
@Retention(RetentionPolicy.RUNTIME) 
public @interface ApiModelProperty { 
    String name() default ""; 
} 

マイカスタム注釈:(私が制御することはできませんという)

既存の注釈作成しようとしてメートル:

@Retention(RetentionPolicy.RUNTIME) 
@Target(ElementType.ANNOTATION_TYPE) 
@ApiParam 
@ApiModelProperty 
public @interface SwaggerParam { 
    String name() default ""; 
} 

結果:の注釈はで、注釈タイプには適用されません。

質問:チャンスはありますか?

+0

私はリンクの下だと思うが、問題を解決するお手伝いをすることができます。 [リンク](https://stackoverflow.com/questions/23562005/java-make-a-separate-annotation-that-c​​ombines-a-others) –

答えて

0

残念ながら、アノテーションを拡張することはできないため、残念ながらこれを行うことはできません。

Is there something like Annotation Inheritance in java?

Iが最初に彼らが(/ @設定等@コントローラのメタアノテーションなど@Componentなど)メタレベルのアノテーションを使用することにより、Iが最初にこの欠点にSpringフレームワークのアプローチで混乱し、これを回答回避策の一種として

参照:https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/beans.html#beans-annotation-config

関連する問題