Java注解的使用,类似于C#的Attribute
1.定义注解,代码如下:
import java.lang.annotation.*; /** * 定义注解类,用于注解某个类或方法 * * @author Administrator * */ @Target(ElementType.METHOD)//表示用于标识方法 @Retention(RetentionPolicy.RUNTIME)//表示运行时保留 public @interface TableColumn { /** * 数据库字段 * * @return */ String dbName() default ""; /** * 表单名称 * * @return */ String fieldName(); /** * 备注 * * @return */ String remark() default "无"; }
Target的取值如下:
1.CONSTRUCTOR:用于描述构造器
2.FIELD:用于描述域
3.LOCAL_VARIABLE:用于描述局部变量
4.METHOD:用于描述方法
5.PACKAGE:用于描述包
6.PARAMETER:用于描述参数
7.TYPE:用于描述类、接口(包括注解类型) 或enum声明
Retention的取值如下(常用RUNTIME):
1.SOURCE:在源文件中有效(即源文件保留)
2.CLASS:在class文件中有效(即class保留)
3.RUNTIME:在运行时有效(即运行时保留)
使用代码如下:
public class Student { @TableColumn(dbName="detect_time", fieldName = "detectTime", remark = "采集时间") public void PrintMsg(String msg) { System.out.println("nihaoya" + msg); } }
读取代码如下:
import java.lang.reflect.*; import sun.misc.*; public class Hello { public static void main(String[] args) { Method[] methods = Student.class.getDeclaredMethods(); for (Method m : methods) { System.out.println(m.getName()); TableColumn tc = (TableColumn) m.getAnnotation(TableColumn.class); System.out.println(tc.remark()); } } }
原文参考:
http://www.cnblogs.com/peida/archive/2013/04/24/3036689.html
http://www.cnblogs.com/peida/archive/2013/04/26/3038503.html
分类:
Java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗