Springコンビネーションコメント&コメント引き継ぎ
2451 ワード
コンビネーションコメント
注釈された注釈を組み合わせ注釈といいます.
1.メリット
注釈配置を簡単にして、特定の意味の複数の注釈を少ない注釈で表示する 必要に応じて柔軟にカスタマイズできる拡張機能を提供しています. 2どう使いますか
(1)グループのコメントをカスタマイズする
注釈された注釈を組み合わせ注釈といいます.
1.メリット
(1)グループのコメントをカスタマイズする
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Configuration// bean
@ComponentScan// value(package ) bean
public
@interface WiselyConfiguration {
String[] value() default{};// , @ComponentScan ,
}
(2)
//@Configuration //
//@ComponentScan("com.gdb.spingboot.service") // bean
@WiselyConfiguration(value = "com.gdb.spingboot.service") // , bean value
public class ElConfig {}
, , , 。
@Inhberited , 。
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface Hello {
}
public class AnnotationTest3 {
// @Inherited @Hello
@Hello
class Base{}
// @Hello
class Derived extends Base {}
public static void main(String[] args) {
// @Hello 。
if( Derived.class.isAnnotationPresent(Hello.class)){
Hello hello = (Hello)Derived.class.getAnnotation(Hello.class);
System.out.println("Hello");
}
}
}
(1) , {} , 。
(2) 。
(3) 。
(4) value, value value=xxx, 。
(5) default 。
//
@Retention(RetentionPolicy.RUNTIME)
public @interface SomeFuture {
String value();//
int[] arrayValue(); //
Hello helloValue();// @Hello
Hello[] helloArrayValue() default {@Hello,@Hello}; // , 。
}
//
@SomeFuture(
value="hello", //
arrayValue={1,2,3},//
helloValue=@Hello,//
helloArrayValue={@Hello,@Hello,@Hello}// 。
)
public class AnnotationTest4 {
}
:1024s
・