注解类作用是什么

问题描述

最近看了一下注解类的编写,大概就是用@interface声明一个注解类,然后再注解类里面写入一些成员,如下:@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public @interface MyAnnotation {        boolean value() default true;        int result() default 0; }但是,这个类是不能写入一些具体实现的。当在一个代码类中使用注解类时,用@MyAnnotation就可以,如果需要为注解类的成员赋值,需要在后面加上(),并在里面以成员名=被赋的值就可以了。但是让我很疑惑的是,在代码类中使用了注解之后,有什么用呢?如果只是为注解类成员赋值,根本没啥用处。还请各位大神解答。。。小弟没多少分了,请大神赐教。

解决方案

注解只是一个标记,必需由另一方来执行某个动作,赋于它含义。比如说Override,编译器就会判断该方法是不是重写了父类的方法,如果不是,则报错,以防止你本来是要重写的,可是拼错了一个单词,写成了另一个方法平时最常见的应该是各种框架定义的注解,像spring的@Component、@Autowired等,spring在运行时,会根据这些标记,给出相应的动作。一般是不需要自己去定义注解的,除非你要自己写框架类的东西,如果是,注解是配合反射一起用的,通过反射,可以根据class、field、method等对象拿到它上面标注的注解,然后根据有没有注解、注解的类型或注解上的参数的不同,来执行不同的操作
解决方案二:
注解也是一种元数据,但是存在于class文件中;xml也是一种元数据;所以它俩的作用一样;主要提供如配置信息;需要有个人去读取它并解释它什么含义;比如spring的@Autowired
解决方案三:
看个例子,这就是注解的小用处:public class User {private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}public static void main(String[] args) {User u = new User();u.setUsername("张三");System.out.println(u.getUsername);}如果用注解源代码就能写成:public class User {@Getter @Setter private String name;@Getter @Setter private int age;}

时间: 2024-11-03 02:30:33

注解类作用是什么的相关文章

Java @Deprecated注解的作用及传递性_java

相关知识:Java中三种简单注解介绍和代码实例 一.作用 用 @Deprecated注解的程序元素,不鼓励程序员使用这样的元素,通常是因为它很危险或存在更好的选择.在使用不被赞成的程序元素或在不被赞成的代码中执行重写时,编译器会发出警告. 二.传递性 如果一个类被使用了@Deprecated注解,在调用这个类的地方IDE会给出提示.但如果调用这个类的字类IDE会进行提示吗? 从实验结果看是不会的.因为采用编辑器插入代码时不会像IDE那样出现提示,这里采用截图,有兴趣的同学可以做下实验. 以上内容

开发过程中注解的作用

问题描述 开发过程中注解的作用 在开元框架的使用中,比如hibernate,spring等,用了注解和不用注解有什么区别? 用了注解有什么好处与坏处? 解决方案 注解是给框架反射的时候用的,比如hibernate用注解将字段和数据库连接在一起,struts用注解识别哪个方法是控制器. 不用注解,就要写在配置文件中,那么分散在两个文件就不直观. 坏处,没有. 解决方案二: 这要看框架有没有提供这样的功能.注解可以简化配置,前提是框架的开发者要提供这种便利. 注解是框架开发者约定的. 解决方案三:

java中注解类的问题,public修饰不用写get/set方法

问题描述 java中注解类的问题,public修饰不用写get/set方法 为什么源码运用注解用public修饰属性,调用的时候用get/set方法,换到我的电脑上一直报错,是什么原因 解决方案 报什么错,把错误代码贴出来,才好解决. 解决方案二: 就是这么写的,在另一个类调用属性的时候用的get方法,不是在私有化的时候才用get方法么,而且在我的电脑上报错,就是报须要创建一个方法的提示的错误,在别的电脑上没错.我把jdk换成了一样的还是不行.我把代码全改成了私有化并且写了get.set方法才不

SpringMVC RequestMapping注解类·Ant和占位符URL

RequestMapping注解类 一.RequestMapping注解类的使用方法 •开发Controller控制器类,使用@Controller注解标注,并在配置文件中用<context:component-scan/>扫描 •在Controller控制器类的类定义和方法定义处都可以标注@RequestMapping注解 •DispatcherServlet截获请求后,就可以通过控制器上的@RequestMapping提供的映射信息确定请求所对应的处理方法 RequestMapping注解

SpringMVC 其他注解类

•PathVariable注解类 •@RequestMapping注解中使用占位符的情况下,需要使用@PathVariable注解指定占位符参数 •RequestParam注解类 •在SpringMVC后台控制层获取参数的方式主要有两种,一种是request.getParameter("name"),另外一种是用注解@RequestParam直接获取 •有三个属性 value(参数名), required(是否需要传递参数),defaultValue(默认值) •不带任何参数,表示需要

小议Java中@param注解与@see注解的作用_java

@ param@ param标签可以归档方法或构造器的某个单一参数,或者归档类.接口以及泛型方法的类型参数.在使用@ param标签时,我们应该针对方法的每一个参数都使用一个该标签.每个段落的第一个词会被当作参数名,而余下的部分则会被当作是对它的描述: @param max The maximum number of words to read. 当归档类型参数时,我们应该在类型参数名两边加上<和>: @param一e element type of this List 然而,类型参数通常并不

创建你自己的 Java 注解类 【已翻译100%】

如果你已经在使用Java编程,并且也使用了任何像Spring和Hibernate这样的流行框架,那么你应该对注解的使用非常地熟悉.使用一个现有框架工作的时候,通常使用它的注解就够了.但是,你是不是也有时候有要创建属于你自己的注解的需求呢? 不久之前,我找到了一个自己创建一个注解的理由,那是一个涉及验证存储在多种数据库中的常用数据的项目. 场景描述 该业务有多种数据库都存储着相同的数据,它们有各自不同的保持数据更新的方法. 该业务曾计划把所有这些数据都整合到一个主数据库中,以减轻涉及到多种数据源所

利用Java注解特性加载属性文件(properties)的值到Java类

在此之前我都是写个PropertyUtil类来加载配置文件,然后通过get方法,把key对应的值取出来. Spring提供一个PropertyPlaceholderConfigurer类,可以读取配置文件,然后在Spring配置文件通过${hibernate.dialect}这种方式注入到JavaBean中,有个不好的地方就是,要在代码中取的时候不是很方便. 然后在接触到Java注解特注解技术以后,感觉这个东东很好,hibernate映射,WebService都可以通过注解来完成,方便的很多,然

基础-java 程序中如何获取所有类 或者带注解的类

问题描述 java 程序中如何获取所有类 或者带注解的类 最近写了一个使用注解的mvc的spring框架,这个框架的基础就是要读取到工程中的带有注解的类. 我的实现方法是将工程中的目录全部读取匹配得到.class后缀的所有路径的list,再用class.forname加载对应的类并且将注解读取判断是否为定义的注解.然后使用一个map装起来,在用到的时候拿出来.但是问题来了,我将项目打包jar之后程序是不能够读取到文件的.也就是说获取不到类的全路径如:cn.com.smq.Test 这样的字符串.