Spring6(八)注解的回顾学习使用

现在都是倡导注解式开发,更方便不用写bean.xml配置文件

首先自己写一个自定义注解使用一下

@Target(value = {ElementType.TYPE,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface common {
    String value();
}

我们来解析一下这个注解

首先是 public  @ interfence common(){}   前面是标准的注解写法,common是自己起的名字

@Target 是元注解,表示这个类是注解的注解,@Target()里面要填写一个数组,ElementType.有多个值,表示这个注解可以使用在哪里。可以使用在类上,可以使用在方法上

@Retention(RetentionPolicy.RUNTIME)---->保留性策略,不同的值会导致注解保留在不同的时间段,runtime保证在运行时还可以有该注解,使得注解可以被反射

String 属性的类型  value()属性的值,我们可以在引用注解的时候给赋值

如果属性名是value ,可以省略

我们在准备一个类,并且在这个类上面使用我们自定义的注解

@common(value = "100w张花票",name = "绘梨衣")
public class role {
}

然后我们在主方法中,通过反射机制读取role类,在读取common这个注解类,在获得value和name的值

    public static void main(String[] args) throws ClassNotFoundException {
//            通过反射机制读取注解   获得--->org.example.role
         Class<?>   roleClass  = Class.forName("org.example.role");
//         判断类上是否有 common这个注解类
        if (roleClass.isAnnotationPresent(common.class)){
//            获取common这个类
            common common=         roleClass.getAnnotation(common.class);
//        访问注解属性
            System.out.println(common.value());
            System.out.println(common.name());
        }
     }

先通过反射机制获得 roleClass类,在判断类中是否有common注解类,在get注解类,在获得值并且输出得到结果如下

100w张花票
绘梨衣

因为可以获得值,那么我们就可以在之后通过注解给实例化对象注入值,而不用在写配置文件了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值