Android 注解入门

注解

注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释.

注解分类
  1. 标示注解: 成员个数为0
  2. 单值注解: 成员个数为1
  3. 完整注解: 成员个数大于1
  4. 系统注解: 系统提供的注解
  5. 元注解: 为注解所注解

系统注解


@override

被修饰的方法必须为父类方法重写, 标示为该方法是方法重写

@Deprecated

被修饰的方法的方法名出现删除线, 标示为该方法已被废弃, 该修饰有继承性, 父类拥有所有子类都将被废弃.

@SuppressWarnings(可变参数)

​ 解除编译器的警告, 提供多种参数

元注解


元注解的作用就是负责注解其他注解

@Target(可变参数)

规定注解的作用范围

@Retention(可变参数)

规定注解的生命周期时间

@Documented

注解会在生成Doc文档时保留注解

@Inherited

规定注解被子类继承, 该注解只能修饰类, 且类必须被@Retention(RetentPoicy.Runtime)修饰

依赖注入


依赖:自定义一个注解, 在运行期使用注解参数.

自定义注解

@interface 类型的代码块就是注解, 与接口和类是同一级别

注意

  1. 参数成员类型只能是基本类型, 即int, float..等
  2. 成员访问权修饰符和接口interface一样, 默认public
示例:

注解

@Target(ElementType.FIELD)
// 这里必须保证注解是生命周期是运行时, 因为反射是运行时才生效, 如果注解再运行时之前就被擦除,反射将无法获取注解的参数
@Retention(RetentionPolicy.RUNTIME)
public @interface CustomAnnotation {
     String value(); // 和接口的成员
}

工具方法

    public static void parseAnnotation(Object obj) throws IllegalAccessException {
        System.out.println("进入");
        Class<? extends Object> objClass = obj.getClass();
        Field[] fields = objClass.getFields();
        System.out.println(fields.length);
        for (Field field : fields) {
            System.out.println("循环");
            // 判断该字段是否存在CustomAnnotation注解
            if (field.isAnnotationPresent(CustomAnnotation.class)) {
                System.out.println("运行");
                // 得到该注解对象
                CustomAnnotation customAnnotation = field.getAnnotation(CustomAnnotation.class);
                // 得到注解的成员
                String value = customAnnotation.value();
                // 传入对象设置字段
                field.set(obj, value);
            }
        }
    }

因为我只需要执行java代码即可, 所以在测试类中执行

public class ExampleUnitTest {
    @CustomAnnotation("程序吴彦祖")
    public String name ;

    @Test
    public void addition_isCorrect() throws Exception {
       ParseAnnotation.parseAnnotation(this);
        System.out.println(name);
    }
}

结果:

如果注解有多个成员方法, 即完整注解, 则在注解的时候需要规定格式方法名 = 值

    @CustomAnnotation(value = "程序吴彦祖", number = 4)
    public String name;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot 是一个用于快速构建基于 Spring 框架的应用程序的开源框架。它简化了 Spring 应用程序的配置和部署过程,提供了一种约定优于配置的开发模式。 在 Spring Boot 中,注解是非常重要的组成部分。它们用于配置应用程序的不同方面,如控制器、服务、数据访问对象等。下面是一些常用的 Spring Boot 注解,用于入门: 1. `@SpringBootApplication`: 这是一个组合注解,包含了`@Configuration`、`@EnableAutoConfiguration`和`@ComponentScan`。它标识着一个 Spring Boot 应用程序的入口点。 2. `@RestController`: 这个注解用于标识一个类为 RESTful Web 服务的控制器。它将类中的方法映射到特定的 URL,并可以返回 JSON、XML 等格式的数据。 3. `@RequestMapping`: 这个注解用于将 HTTP 请求映射到控制器的处理方法上。可以指定请求的 URL 和 HTTP 方法。 4. `@Autowired`: 这个注解用于自动装配 Spring Bean。通过在需要依赖的地方添加该注解,Spring 将自动查找匹配的 Bean,并将其注入。 5. `@Service`: 这个注解用于标识一个类为业务逻辑层的服务类。 6. `@Repository`: 这个注解用于标识一个类为数据访问对象(DAO)。它通常用于与数据库进行交互。 7. `@Configuration`: 这个注解用于标识一个类为配置类。在这里可以定义一些 Bean 和配置信息。 这些只是一些常用的注解,Spring Boot 还提供了很多其他的注解,用于不同的场景。通过使用这些注解,可以更加方便地配置和开发 Spring Boot 应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值