今天学习了SpringBoot 发现注解越来越多了,之前SSM 还好,但现在似乎必须要知道这些注解的具体实现才能更容易去学SpringBoot 中的这些注解定义,今日特记记录于此
使用@interface自定义注解,就会自动继承java.lang.annotation.Annotation ,
格式是这样的 public @interface 注解名 {定义体}
而定义体中的每个方法就是我们平时使用的时候使用的配置参数,方法名称就是参数名称,返回值类型就是参数类型,(类型为:基本类型、Class、String、enum)
默认参数可以使用 default 设置
例如 : 访问修饰符 返回参数类型 方法名() 默认值
public String value() default "" //注意这里的访问修饰符只能是public 和 默认修饰符
String 即代表返回类型,又代表参数类型 默认值为“”
如果使用 参数值枚举类型 则在 @interface 中定义一个枚举
例如:
@Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface SchoolGrade{ public enum Grade{PRIMARY,MIDDLE,HIGH,COLLEGE} Grade valueGrade() default Grade.MIDDLE; String name() default ""; }
具体使用直接 例如:
@SchoolGrade(name = "丰泽中学")
private String name;
@SchoolGrade(valueGrade= Grade.PRIMARY)
private String name;
其实还有个疑问就是,
@SchoolGrade(name = "丰泽中学")
private String name;
怎么就能绑定 丰泽中学 注入到 这个属性中??
后面在更新吧