`

为注解增加各种属性 (Annotaiton 功能)

阅读更多

1、 什么是注解的属性

a) 一个注解相当于一个胸牌,如果你胸前贴了胸牌,就是舒适播客的学生,否则就不是。如果还想区分出是传智播客哪个班的学生,这时候可以为胸牌在增加一个属性来进行区分。加了属性的标记效果为:@MyAnnotation(color=”red”)

2、 定义基本类型的属性和应用属性

a) 在注解类中增加String color(); //String 不是基本类型

3、 用反射方式获得注解对应的实例对象后,再通过该对象调用属性对应的方法

a) MyAnnotation a = (MyAnnotation) AnnotationTest.class.getAnnotation(MyAnnotation.class);

b) System.out.println(a.color());

c) 可以认为上面这个@MyAnnotationMyAnnotation类的一个实例对象

4、 为属性指定缺省值

a) String color() default “yellow”;

5、 value属性

a) String value() default “zxx”;

b) 如果注解中有一个名称为value的属性,且你只想设置value属性(即其它属性都采用默认值或者你只有一个value属性),那中以省略value=部分,例如:MyAnnotation”lhm”;

为注解增加高级属性

1、 数组类型的属性

a) int arrayArrt() default {1,2,3};//加默认值

b) @MyAnnotation(arrayAttr={2,3,4})

c) 如果数组属性中只有一个元素,这时候属性值部分可以省略大括号

2、 枚举类型的属性

a) EnumTest.TrafficLamp();

b) @MyAnnotation(lamp=EnumTest.TrafficLamp.GREEN)

3、 注解类型的属性

a) MetaAnnotation annotationAttr() defalut @MetaAnnotation(“xxx”);

b) @MyAnnotation(annotationAttr = @MetaAnnotation(“yyy);

c) 可以主为上面这个@MyAnnotationMyAnnotation类的一个实例对象,同样的道理,可能主为上面这个@MetaAnnotationMetaAnnotation类的一个实例对象,调用代码如一下:
MetaAnnotation ma = MyAnnotation.annotationAttr();
System.out.println(ma.value());

4、 Class类型属性

a) Class classType() default EnumTest.class;

代码:

分享到:
评论

相关推荐

    Java Bean 遍历和使用注解给Bean的属性添加属性值

    例如,可以创建一个名为`MyAnnotation`的注解,并在其中定义属性。 - **应用注解**:将自定义注解应用于Bean的属性上,如`@MyAnnotation(value="someValue") private String propertyName;` - **注解处理**: - *...

    Spring注解注入属性

    为了防止这种异常发生,可以在`@Autowired`注解中设置`required`属性为`false`,此时,如果没有找到匹配的bean,该属性会被设为`null`。 2. **`@Resource`**:这是一个由JSR-250标准定义的注解,不仅被Spring支持,...

    spring中自定义注解(annotation)与AOP中获取注解

    要创建一个自定义注解,我们需要定义一个注解类型,并指定它的属性。例如: ```java @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface MyCustomAnnotation { String value() ...

    通过反射获取注解的属性值(源代码)

    通过反射获取注解的属性值 1、获取类上注解的值 1.1 定义注解类 1.2 定义使用注解的类 1.3 测试类 1.4 测试结果 2、获取属性变量上注解的值 2.1 定义注解类 2.2 定义使用注解的类 2.3 定义测试类 2.4 测试结果 3、...

    Mybatis基于注解实现多表查询功能

    Mybatis基于注解实现多表查询功能 Mybatis基于注解实现多表查询功能是指使用Mybatis框架中的注解来实现多表查询的功能。这种方法可以简化配置,提高开发效率。下面我们将详细介绍如何使用Mybatis基于注解实现多表...

    深入浅出Java注解(注解概述+注解的本质+反射注解信息+元注解+属性的数据类型及特别的属性:value和数组)

    Java 注解的格式为 `public @interface 注解名称{ 属性列表;}`。分类大致分为三类:自定义注解、JDK 内置注解、还有第三方框架提供的注解。自定义注解就是我们自己写的注解,而 JDK 内置注解则包括 `@Override`、`@...

    自定义JSONObject属性过滤注解

    在测试时,我们可以创建一个名为`JsonTest`的类,用以验证自定义注解的功能是否正常工作。例如,可以创建一个`MyEntity`实例,然后使用Jackson的`ObjectMapper`进行序列化和反序列化,观察结果是否符合预期。 总的...

    Java反射动态修改注解的某个属性值.Java

    2. **复制原有注解信息**:遍历原始注解的所有属性,并将它们复制到新的代理注解中,除了我们想要修改的那个属性。 3. **修改属性值**:在代理注解中,设置我们要修改的属性的新值。 4. **替换原有注解**:使用`java...

    day38 17-Spring的Bean的属性注入:注解方式

    在Spring框架中,Bean的属性注入是核心功能之一,它允许开发者在不编写代码的情况下配置对象的依赖关系。本文将详细讲解使用注解方式进行Bean属性注入的方法,以及相关的源码和工具应用。 首先,让我们了解Spring中...

    基于Spring boot @Value 注解注入属性值的操作方法

    在Spring Boot应用中,`@Value`注解是用于注入属性值的重要工具,它可以方便地从配置文件或者非配置文件中获取数据,并将其赋值给字段或者方法参数。本篇文章将详细阐述`@Value`注解的使用方法,包括如何注入配置...

    Spring应用注解完成属性装配

    Spring提供了多种方式进行属性装配,包括XML配置、基于注解的配置以及自动装配。本篇文章主要关注的是使用注解来完成属性装配的方法。 首先,我们来看`@Autowired`注解,这是Spring提供的核心注解之一,用于自动...

    运用注解改变反射之后类属性的顺序

    在这个例子中,我们将创建一个自定义注解,然后在类的属性上使用这个注解,以指定它们在反射时的顺序。 首先,我们需要定义一个注解,比如`@Order`: ```java import java.lang.annotation.*; @Retention...

    hibernate属性级别注解实例代码

    Hibernate属性级别注解是Hibernate ORM框架中用于在Java对象(实体类)的属性上定义数据库映射的关键元素。这些注解使得开发人员能够无需XML配置文件就能声明对象与数据库之间的映射关系,从而简化了开发过程。以下...

    poi导出导入封装(使用注解建立实体与excel映射关系+反射设置实体属性值)

    poi导出导入封装(使用注解建立实体与excel映射关系+反射设置实体属性值), poi导出导入封装(使用注解建立实体与excel映射关系+反射设置实体属性值) poi导出导入封装(使用注解建立实体与excel映射关系+反射设置...

    Spring java注解,元注解和自定义注解

    通过定义自定义注解,开发者可以为程序添加更多特定意义的信息,并通过Spring的AOP(面向切面编程)功能实现特定的行为。 1. **定义自定义注解** - 使用@interface关键字定义。 - 可以指定注解的属性(通过@...

    一个基于注解的SSH框架的登录功能实现

    通过`@Component`、`@Service`、`@Repository`和`@Controller`等注解,我们可以将类标记为Spring管理的bean,Spring会自动扫描这些注解并进行实例化。此外,使用`@Autowired`注解可以实现依赖的自动注入,减少了手动...

    Java自定义注解使用反射获取字段注解

    总结一下,Java的自定义注解结合反射机制,为我们提供了强大的元数据功能,可以用来增强代码的可读性、可维护性,甚至实现一些动态的功能。在实际开发中,自定义注解常用于框架的实现、AOP切面编程、配置管理等领域...

    JAXB-XML注解

    @XmlAttribute 注解用于将 Java 对象的属性映射为 XML 属性。它可以通过 name 属性为生成的 XML 属性指定别名。 例如: ```java @XmlAttribute(name = "Country") private String state; ``` 五、@XmlAccessorType ...

    通过java的反射技术获取,某个包路径下的类,并以表格形式打印类的属性注解注释及属性名称等

    在给定的场景中,我们需要实现的功能是遍历指定包路径下的所有类,获取它们的属性信息,包括属性的注解和注释,并以表格形式输出。 首先,我们需要通过`Package.getPackage(String name)`方法获取指定包名的Package...

    用@Resource注解完成属性装配

    如果注解没有指定`name`属性,Spring会使用字段名或方法名(对于setter方法,去掉`set`前缀)作为bean的名字。例如,对于`private MyService myService;`,Spring会查找名为`myService`的bean。 ### `@Resource`与`...

Global site tag (gtag.js) - Google Analytics