首页
学习
活动
专区
圈层
工具
发布

【Java 注解】注解简介及作用

文章目录 一、注解简介 二、注解作用 三、Java 预定义注解 一、注解简介 ---- 注释 是使用文字描述程序 , 是 给开发和维护程序的人员看的 , 编译器在编译时会将注释删除 ; 注解 也是用于...描述程序 的 , 但是注解是 给 计算机 准确的说是 编译器 看的 , 让 编译器 执行一些操作 ; 注解对开发环境的要求 : JDK 1.5 之后的版本 ; 注解在 Java 中的地位 : Java..., 类 , 枚举 , 注解 ; 由此可见 , 注解在 Java 语言中占有者重要的低位 ; 枚举 , 注解 ; 由此可见 , 注解在 Java v语言中占有者重要的低位 ; 注解作用位置 : 包 ,...类 , 成员变量 , 方法 , 方法参数 , 局部变量 , 6 个作用位置 ; 二、注解作用 ---- 注解的三种作用 : ① 编写文档 : 通过注解 , 生成 Java API 文档 , 通过抽取 Java...@Override , 在重写父类方法时 , 方法上都有 @Override 注解 , 该注解的作用就是用于编译检查 , 编译时检查该方法是否是覆盖的父类方法 , 如果不是 , 编译中途失败退出 ;

90310

Java中@Data注解的作用

@Data 是 Lombok 中的一个注解 org.projectlombok lombok</artifactId...会生成一个无参构造方法 如果希望生成所有参数和指定参数的构造方法,可以使用 @AllArgsConstructor 或@RequiredArgsConstructor 等其他 Lombok 注解。...需要注意的是,如果在实体类中手动编写了一个带参数的构造方法,使用 @Data 注解会覆盖掉手动编写的构造方法。...@RequiredArgsConstructor也是Lombok的一个注解,简化了我们对@Autowired书写,我们在写Controller层或者Service层的时候,总是需要注入很多mapper接口或者...区别 @AllArgsConstructor 生成一个包含所有字段的构造方法,如果使用了@Value注入,@Value注入会失效,因为@Value注解是通过对象的set方法赋值的,构造方法的执行还在set

92800
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java中的注解是如何起作用的

    在Java中注解是很重要的一个组成部分,它是从J2SE 5.0开始就存在的。我们在日常开发的应用中应该已经见过类似于@Override和@Deprecated注解。...在这篇文章中,我讨论注解是什么,为什么他们会存在,他们如何起作用,如何自定义注解(有代码示例),注解的有效使用场景,最后会说注解和ADF。这将是一个很长的帖子,所以拿一些咖啡,准备潜入注解的世界。...所以现在,我们理解注解是什么,但仍然,阅读正式定义是好的。 注解是一种特殊的Java构造,用于修饰类,方法,字段,参数,变量,构造函数或包。 它是JSR-175选择提供元数据的工具。 2....当我们讨论像@Override这样的标准注解时,JVM就是消费者,它在字节码级别起作用。 这是应用程序开发人员无法控制的东西,也不能用于自定义注解。所以我们需要为我们的注解写消费者。...@Target:注解作用的位置 @Inherited: 子类是否获得注解 @Documented:一个简单的市场注解,告诉您是否在Java文档中添加注解。

    89710

    @Component注解的作用

    Spring自带的@Component注解及扩展: @Component:定义Spring管理Bean(也就是将标注@Component注解的类交由spring管理) @AspectJ风格的切面可以通过...@Compenent注解标识其为Spring管理Bean,而@Aspect注解不能被Spring自动识别并注册为Bean,必须通过@Component注解来完成 Java代码 @Component...扩展,被@Controller注解的类表示Web层实现,从而见到该注解就想到Web层实现,使用方式和@Component相同; 在使用Spring代理时,默认只有在public可见度的方法的@Transactional...注解才是有效的,其它可见度(protected、private、包可见)的方法上即使有@Transactional 注解也不会应用这些事务属性的,Spring也不会报错,如果你非要使用非公共方法注解事务管理的话...也就是说,@Configuration注解是声明一个IOC容器,把所有标记了@Bean注解的类注入到IOC容器中去。 就相当于xml配置文件: <!

    57020

    @Param 注解的作用

    在 Java 开发中,尤其是使用 MyBatis 框架时,@Param 注解是一个非常常见和重要的注解。它主要用于在 Mapper 接口的方法中传递参数,并且在 SQL 映射文件中可以引用这些参数。...一、@Param 注解的作用@Param 注解主要有以下几个作用:为方法参数命名:在 Mapper 接口的方法中,给参数命名,使其在 SQL 映射文件中可以通过该名字引用。...解决参数名称冲突:当方法有多个参数时,使用 @Param 注解可以避免参数名冲突。二、@Param 注解的基本用法1. 单个参数当方法只有一个参数时,可以直接使用 @Param 注解为参数命名。...在这个示例中,我们有两个参数 id 和 name,通过 @Param 注解为每个参数命名,使其在 SQL 中可以分别通过 #{id} 和 #{name} 引用。三、@Param 注解的高级用法1....使用对象作为参数当方法参数是一个对象时,可以直接使用对象的属性,而无需 @Param 注解。

    73610

    @Import注解的作用

    简介 在平时看源码或者很多配置类上面都会出现@Import注解,功能就是和Spring XML 里面 的 一样. @Import注解是用来导入配置类或者一些需要前置加载的类....源码解析 导入配置的三种类型 @Import支持 三种方式 1.带有@Configuration的配置类(4.2 版本之前只可以导入配置类,4.2版本之后 也可以导入 普通类) 2.ImportSelector...的实现 3.ImportBeanDefinitionRegistrar 的实现 源码解释 /** * Indicates one or more {@link Configuration @Configuration...* 如需要引入XML或其他类型的文件,使用@ImportResource注解 * If XML or other non-{@code @Configuration} bean definition...@Configuration注解,本身就会配spring扫到并实例,@import引入带有@Configuration的配置文件,是需要先实例这个配置文件再进行相关操作 @Autowired

    50030

    【说站】java注解有什么作用

    java注解有什么作用 说明 注释是元数据,是源代码的元数据。 注释为代码添加信息提供了一种形式化的方法,以便以后更容易使用这些数据。...Annotation是应用于类别、方法、参数、变量、结构器和包声明的特殊修饰符。是JSR-175标准选择描述元数据的工具。 作用 1、生成文件。 2、追踪代码的依赖性,实现替代配置文件功能,减少配置。...例如Spring中的一些注释。 3、编译时进行格式检查,如@Override等。 4、每次创建描述性质的类别和接口,包括重复性的工作,都可以考虑使用注释来简化和自动化这个过程。...实例 @Override void myMethod() { ...... } 以上就是java注解的作用,希望对大家有所帮助。

    67420

    【说站】java注解有哪些作用

    java注解有哪些作用 在谈论注解的用途之前,我们先介绍一下XML和注解的区别: 注:是一种分散的元数据,与源代码紧密相连。 xml:是一种与源代码无绑定的集中元数据。...这部分多用于Java后台配置项目的开发。我们知道几年前服务器的配置项目大多存储在xml文件中,spring2.5开始基于注释配置,从而实现了替代配置文件的功能。...注释具有四个主要功能: 1、生成文档,通过代码中标记的元数据生成javadoc文档。 2、编译检查,编译器在编译过程中通过代码中标记的元数据进行检查和验证。...3、编译时动态处理,编译时动态处理代码中标记的元数据,如动态生成代码。 4、运行时进行动态处理,运行时通过代码中显示的元数据进行动态处理,如使用反射注入实例。...以上就是java注解的作用,希望对大家有所帮助。

    58110

    @ResponseBody注解的作用

    大家好,又见面了,我是你们的朋友全栈君。...1、@ResponseBody注解的作用是将controller的方法返回的对象 通过适当的转换器 转换为指定的格式之后,写入到response对象的body区(响应体中),通常用来返回JSON数据或者是...数据,需要注意的呢,在使用此注解之后不会再走视图处理器,而是直接将数据写入到输入流中,它的效果等同于通过response对象输出指定格式的数据。...这里还要着重强调一下,要通过@ResponseBody 注解 将返回的json字符串放入响应体中,然后在前台js才能拿到json字符串进行解析,如果不加,响应体中就没有放入json字符串,前台自然是拿不到数据的...  public void login(User user, HttpServletResponse response){ //通过response对象输出指定格式的数据

    2.1K30

    @Target:注解的作用目标

    @Target:注解的作用目标 @Target(ElementType.TYPE)——接口、类、枚举、注解 @Target(ElementType.FIELD)——字段、枚举的常量 @Target(ElementType.METHOD...@Target(ElementType.PACKAGE)——包 @Retention:注解的保留位置 RetentionPolicy.SOURCE:这种类型的Annotations只在源代码级别保留,...RetentionPolicy.CLASS:这种类型的Annotations编译时被保留,默认的保留策略,在class文件中存在,但JVM将会忽略,运行时无法获得。...RetentionPolicy.RUNTIME:这种类型的Annotations将被JVM保留,所以他们能在运行时被JVM或其他使用反射机制的代码所读取和使用。...@Document:说明该注解将被包含在javadoc中 @Inherited:说明子类可以继承父类中的该注解 ———————————————— 版权声明:本文为CSDN博主「fengcai0123」的原创文章

    1.9K10

    注解式项目开发!详细解析Java中各个注解的作用和使用方式

    @Target 作用: 指明了修饰的这个注解的使用范围, 即被描述的注解可以用在哪里 @Target(ElementType.Type) ElementType取值的类型: TYPE: 类,接口或者枚举...作用: 指明修饰的注解,可以被例如javadoc此类的工具文档化 只负责标记 没有成员取值 @Inherited 作用: 允许子类继承父类中的注解 @Inherited需要和@AliasFor一起使用...: 按照自定义规则 @Filter 作用: 配置过滤条件的过滤器注解 @Filter中的参数类型: type class @interface 作用: 自定义注解 自动继承java.lang.annotation.Annotation...: 类类型,别名属性的类的类型,即别名的属性属于哪个注解类 attribute: 需要别名的属性 value: 属性的别名 @Import @Import支持导入普通的Java类,并声明为一个Bean...getter方法上,来标示该字段为deprecated SpringBoot的 @ConfigurationProperties注解在绑定类型安全的Java Bean时是非常强大的 可以配合其注解属性和

    1.3K20

    SpringBoot@Valid注解的作用

    @Valid 用于验证注解是否符合要求,直接加在变量user之前,在变量中添加验证信息的要求,当不符合要求时就会在方法中返回message 的错误提示信息。...User { private String id; @NotBlank(message = "密码不能为空") private String password; } @NotBlank 注解所指的...min到max之间 @Past 验证注解的元素值(日期类型)比当前时间早 @NotEmpty 验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0) @NotBlank 验证注解的元素值不为空...(不为null、去除首位空格后长度为0),不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的空格 @Email 验证注解的元素值是Email,也可以通过正则表达式和flag...(message = "这是一个测试") private String username; } 注解的具体内容: @Constraint(validatedBy = {MyConstraintValidator.class

    3.3K10

    Spring中Responsebody注解的作用

    大家好,又见面了,我是你们的朋友全栈君。 好长一段时间以来都只是写些测试代码,好久没写项目代码了,以至于spring那套东西日渐生疏了。...最近在折腾一个小项目,写了一个controller用来响应ajax请求,结果断点调试发现一直返回”404 …not response…”,折腾了快2小时,一直没想到是注解的问题,万般无赖之下上了度娘,方才如梦初醒...,特意记录一下,一来提醒一下自己,二来也让跟我遇到一样问题的朋友少受些折磨。...这个注解表示该方法的返回结果直接写入HTTP response body中,一般在异步获取数据时使用。 在使用@RequestMapping后,返回值通常解析为跳转路径。...比如异步请求,希望响应的结果是json数据,那么加上@responsebody后,就会直接返回json数据。

    1.1K20

    lombok注解不起作用

    一.问题原因   使用注解但是并没有生成相应功能,如@Data注解并没有生成对应的set和get方法 二.怎么解决  1. 一般新版idea会自动安装lombok插件,不确定的话可去插件中查看 2....如果你是创建spring项目时勾选的lombok,那么该依赖会给你添加一个小插件在pom.xml中,你需要去删除对应插件,如下图  将对应插件注释掉或者删除,然后刷新maven 建议:创建Springboot...如果还是不可以,可能碰到与作者类似情况,那你需要打开设置,找到注解处理器,直接选择为从项目类路径获取处理器和存储相对于下列位置生成的源中的模块内容根  确定应用完成之后,记得去maven中点击compile...编译(清理一下),然后就完成啦,去运行你的程序吧!

    1.3K10
    领券