【Java基础】注解

Java注解全面解析:从基础到进阶 除了使用Java内置注解和元注解,我们还可以根据实际需求自定义注解。自定义注解需要使用元注解来定义其特性。上述代码定义了一个名为的注解,它有一个成员变量value,并且默认值为空字符串。在类中,myMethod方法使用了自定义的注解,并为其value成员变量赋值。Java注解为我们的代码带来了极大的便利和扩展性。通过内置注解、元注解以及自定义注解,我们可以在不同阶段为程序元素添加丰富的元数据,并在编译期、运行时进行相应的处理。合理运用注解,能够使代码更加清晰、可维护,提升开发效率。 阅读详情

 

 

1. 注解按作用域@Retention分 : 

   RetentionPolicy.SOURCE: Java源文件上的注解
   RetentionPolicy.CLASS: Class类文件上的注解
   RetentionPolicy.RUNTIME: 运行时的注解

2. 注解按 来源分:
    内置注解 如@Override ,@Deprecated 等等
    第三方注解,如Hibernate, Struts等等
    自定义注解,如仿hibernate的自定义注解

  2.1 常见的 jdk 自带 注解:

     @Override : 重写 ,覆盖

     @Deprecated : 过期的,不建议使用的

     @SuppressWarnings : 屏蔽 警告信息 

     @SafeVaragrs : 涉及 可变参数的内容,不太清楚

     @ FuntionalInterface : 主要用于 Lamdba 表达式

 

2.3 自定义注解: 

package anno;
 
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.TYPE;
 
import java.lang.annotation.Documented;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
 
@Target({METHOD,TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface JDBCConfig {
     String ip();
     int port() default 3306;
     String database();
     String encoding();
     String loginName();
     String password();
}

如何使用:

package util;
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
 
import anno.JDBCConfig;
 
@JDBCConfig(ip = "127.0.0.1", database = "test", encoding = "UTF-8", loginName = "root", password = "admin")
public class DBUtil {
    static {
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
 
    public static Connection getConnection() throws SQLException, NoSuchMethodException, SecurityException {
        JDBCConfig config = DBUtil.class.getAnnotation(JDBCConfig.class);
 
        String ip = config.ip();
        int port = config.port();
        String database = config.database();
        String encoding = config.encoding();
        String loginName = config.loginName();
        String password = config.password();
 
        String url = String.format("jdbc:mysql://%s:%d/%s?characterEncoding=%s", ip, port, database, encoding);
        return DriverManager.getConnection(url, loginName, password);
    }
     
    public static void main(String[] args) throws NoSuchMethodException, SecurityException, SQLException {
        Connection c = getConnection();
        System.out.println(c);
    }
}

 

 

未完待续

Java 注解(Annotation)实战指南:从基础到高级应用! 你是否曾在 Java 编程中遇到过@Override@Entity@Autowired等注解?这些注解不仅出现在我们常用的框架中,像 Spring、Hibernate 等,还可以自定义和扩展,提升代码的可读性、灵活性以及开发效率。今天,我们将从基础到高级,深入解析 Java 注解的使用,帮助你更好地理解和应用这一强大特性。Java 注解(Annotation)是一种特殊的标记,它可以添加到类、方法、变量、参数等元素上,用于提供额外的信息。 阅读详情

相关推荐

掌握Java通用注解API:从基础到实践

Java 提供了一系列预定义的注解,它们是语言的一部分,能够在编译时提供信息给编译器,或在运行时被框架识别和处理。这些内置注解包括但不限于@Override, 和。@Override用于指示方法重写了超类中的方法。当方法没有正确重写时,Java 编译器将报错。这有助于防止因拼写错误或其他错误而导致的方法覆盖不正确。在上面的例子中,@Override通知编译器Car类的start()方法意图覆盖Vehicle类的start()方法。如果start()方法在。

weixin_26854475的博客 1043

Java基础-注解

注解是 Java 中一种强大的元数据机制,它通过 “标记 + 解析” 的方式,为代码提供灵活的扩展能力。理解注解的核心是:它不直接参与业务逻辑,而是作为 “桥梁” 连接代码与工具 / 框架,让外部系统根据注解信息做出相应处理。在实际开发中,合理使用注解(结合反射或处理器)能显著提升代码的简洁性和可扩展性。

weixin_43578751的博客 673

PLL锁相环性能上不去?可能是电荷泵的电流失配在捣鬼(附Jae-Shin Lee经典方案解析)

本文深入分析了PLL锁相环性能瓶颈的根源——电荷泵电流失配问题,详细解析了Current Mismatch和Current Deviation的区别及其对系统的影响。重点介绍了Jae-Shin Lee的多级电流镜技术,该方案通过运放构建虚拟短路和四级电流镜结构,显著降低了电流失配,使参考杂散改善15dB以上。文章还提供了从仿真到流片的完整优化流程,帮助工程师系统解决电荷泵性能问题。

weixin_30684743的博客 370

java基础——枚举注解

java基础 笔记的都是需要背诵的零散知识点,以顺序的方式组织 文章目录java基础1.enum枚举(enumerate)2.注解3.jdk的元Annotation(元注解,了解) 1.enum枚举(enumerate) (1)枚举是一组常量的集合 (2)枚举属于一种特殊的类,里面只包含一组有限的特定对象 (3)枚举的两种实现方式: 自定义类实现枚举 使用enum关键字实现枚举 (4)自定义类实现枚举: 不需要提供setXxx方法,因为枚举对象值通常为只读. 对枚举对象/属性使用final

上邪的博客 1441

WinDbg调试工具安装全攻略:从下载到配置的保姆级教程(Windows 10/11适用)

本文提供了一份详细的WinDbg调试工具安装与配置指南,适用于Windows 10/11用户。文章对比了WinDbg Preview独立版与SDK内置经典版的区别,并手把手指导从Microsoft Store或Windows SDK完成安装。核心部分重点讲解了如何配置符号文件路径与源代码路径,这是让WinDbg发挥强大调试功能的关键步骤,并针对常见安装问题提供了实用的排错方法。

hp777的博客 385

携程景点评论数据爬取实战:破解AJAX动态加载与分页参数逆向分析

本文详细介绍了携程景点评论数据爬取的实战经验,重点破解了AJAX动态加载与分页参数逆向分析的技术难题。通过分析`getCommentCollapseList`接口,解析动态参数如`poiId`和`pageIndex`,并实现分页逻辑,帮助开发者高效获取评论数据。文章还提供了完整的Python爬虫代码和反爬策略,适用于数据分析与内容挖掘。

weixin_29098367的博客 673

Java 基础 - 注解

定义自己的注解}使用注解@Override}}}}用反射接口获取注解信息try {// 获取所有methods// 遍历// 方法上是否有MyMethodAnnotation注解try {// 获取并遍历方法上的所有注解}// 获取MyMethodAnnotation对象信息}}}}}激动的心,颤抖的手借用客官你们发财的小手,给个鼓励吧​。

Liarboy 2356

CosyVoice 本地部署详细教程 手把手小白教程

本文提供了详细的CosyVoice本地部署教程,强调了避免中文名称和空格的重要性,并列出了必要的软件安装步骤,包括CUDA、cuDNN、Git和Miniconda。教程涵盖了从检查CUDA版本到下载模型和运行模型的全过程,确保用户能够顺利部署并使用CosyVoice。

huazn612的博客 2万+

Java 基础 - 注解机制详解

当我们理解了内置注解, 元注解和获取注解的反射接口后,我们便可以开始自定义注解了。定义自己的注解Retention;Target;使用注解} }} }} }Annotation;

珍惜当下 1272

基于STM32单片机设计的红外人脸测温仪(QT上位机)

基于STM32单片机设计的红外人脸测温仪(QT上位机)是一种结合红外测温和人脸识别技术的设备,可以快速、非接触地测量人体体温并识别身份,广泛应用于人员密集场所的体温筛查和出入管理。基于STM32单片机设计的红外人脸测温仪是一种功能实用、易于使用的人脸测温设备,可以有效提高测温效率和识别准确率,广泛应用于各类人员密集场所的体温筛查和出入管理。

走向CTO的路上... 1719

我用 GPT-5.5 十分钟搞定一篇文献综述!附全流程指南

每一个框架中提出的逻辑链接,都必须至少有一篇提供文本中的文献作为支撑、严格禁止虚构变量、逻辑关系或研究结果、如果某些变量或关系在文本中未提及,必须明确声明“在提供的文本中未找到相关信息”、引用格式必须严格遵循原文提供的“作者/年份”格式,例如:[Smith, 2022]。各位同仁好,我是七哥。扫描提供的文献摘要,识别存在冲突的结果或理论、分析这些文献之间的差异,并总结可能导致差异的原因、输出一个结构化的学术争论段落,清楚呈现文献间的分歧和潜在影响因素、对于缺失或不明确的信息,按约束条件如实标注。

智能AI让学术科研更容易 370

Java注解基础

Java 注解是代码中的元数据标签,通过 @interface 关键字定义,用于为程序元素(类、方法、字段等)添加描述性信息

不如打代码 563

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Java基础——注解(Annotation)基础

Java注解(Annotation)又称Java标注,是 JDK5.0 引入的一种注释机制。注解是元数据的一种形式,提供有关于程序但不属于程序本身的数据。注解对它们注解的代码的操作没有直接影响。元数据:描述数据的数据。

liang-jy的博客 883

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Java基础-注解机制详解

Java注解机制的一点总结

令狐_JackieHao的博客 1217

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

java注解基础

java注解基础 java中可能你经常能在ide中看到@Override,但是很少关心它是什么?而在使用spring框架时能使用注解,会让spring注入变得简洁。 注解的概念:java提供了一种原程序中的元素关联任何信息和任何元数据的途径和方法。 java常见注解 Jdk自带常用注解 @Override 重写 @Deprecated 弃用(调用会产生的结果) @SuppressWar...

qq_40062884的博客 345

《重学Java系列》之 注解基础

不诗意的女程序媛不是好厨师~ 转载请注明出处,From李诗雨—[https://blog.youkuaiyun.com/cjm2484836553/article/details/104432728] 《重学Java系列之---注解基础》1.什么是注解?2.自定义注解及使用3.元注解3.1元注解的理解3.2 常见的5种元注解。@Retention --- 指定了注解的存活时间@Target ---- 指定...

cjm2484836553的博客 355

Java笔记——基础注解

java.lang包下的基础注解 @Override // 方法覆盖 @Deprecated // 已过时 @SuppressWarnings("unchecked") // 抑制警告 @SafeVarargs // 抑制堆污染警告 @FunctionalInterface // 函数式接口 java.lang.annotation包下的元注解 @Retention(RetentionPolicy.RUNTIME) // 注解的保留期,默认是CLASS @Target(ElementType.

xnktyu的专栏 170

【Java 基础篇】Java 注解详解

注解是一种标记在 Java 类、方法、字段和其他程序元素上的特殊标签。这些标签提供了有关元素的额外信息,通常以注解的方式存储在 Java 源代码中。注解通常不影响程序的运行,但可以在编译时、运行时或通过工具进行处理。Java 注解以符号开头,后跟注解的名称,如@Override等。注解可以有元素,元素以键值对的形式存储信息。// 类的内容在上面的示例中,@Author是一个自定义注解,具有两个元素name和date,它们存储了有关类MyClass的信息。

繁依Fanyi的博客 1819

java注解基础,模拟Junit注解

11、注解 1 、注解基础 1.1、注解的基本语法 [ public ] @interface 注解名{ } 其public可以省略 注解里的成员属性语法: 【public】 属性类型 属性名称() @interface Book{ public String Book(); public String[] author(); public int price() default 100; } 1.2、注解的特殊属性名称value value属性,如果只有一个value属性的情况下

qq_49278026的博客 769

扫盲java基础-注解

一、基础知识 1、注解是jdk1.5版本提供的一个特征:@Deprecated:标识使用方法已经被放弃,但是还可以使用 @SuppressWarnings("all") //@SunppressWarnings("uncheck") 取消警告操作 2、元注解:不能包含其他注解的注解(元数据) @Documented 生成 JavaDoc文档的时候会生成在文件中 @Retetion 代表该注解的作...

Brave_heart4pzj的博客 4231

Java基础语法88-注解

Java基础语法88-注解 一、注解概述 在JavaSE中,注解的使用目的比较简单,例如标记过时的功能, 忽略警告等。在JavaEE/Android中注解占据了更重要的角色,例如用来配置应用程序的任何切面,代替JavaEE旧版中所遗留的繁冗代码和XML配置等。 未来的开发模式都是基于注解的,JPA是基于注解的,Spring2.5以 上都是基于注解的,Hibernate3.x以后也是基于注解的,现在的 Struts2有一部分也是基于注解的了,注解是一种趋势,一定程度上可以说:框架 = 注解 + 反射 + 设计

A1066223647的博客 235

Java基础——注解

文章目录1. 引言2. 语法规范2.1 继承的Annotation父接口2.2 @Target中的参数ElementType2.3 @Retention中的参数RetentionPolicy2.4 成员变量3. 获取注解信息3.1 使用场景——框架初始化过程中递归获取注解以及注解的注解3.2 使用场景——框架初始化过程中模拟扫描jar包和文件夹中的所有注解4. Spring中的注解模式 1. 引言...

Littlemotor 9306

Java注解终极指南:从基础到高级应用

专业解释:注解(Annotation)是Java 5引入的一种元数据形式,它提供了一种向代码添加结构化元数据的方法,这些元数据可以被编译器、开发工具或运行时环境读取和处理。通俗理解:注解就像是代码的"便利贴",你可以在代码上贴这些"便利贴"来告诉编译器、框架或其他工具一些额外的信息,这些信息可以用来改变它们处理代码的方式。专业解释:开发者根据需求定义的注解类型,使用@interface关键字声明,可以包含成员变量和默认值。关键特点使用@interface关键字定义。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1221
上一篇: 【Java基础】反射
下一篇: 【数据库】CentOS6.8 静默安装Oracle11g 和 卸载
jy0921_
博客等级 码龄11年 329粉丝 193原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值