当前位置: 首页 > news >正文

网站建设响应技术北京千锋教育培训机构怎么样

网站建设响应技术,北京千锋教育培训机构怎么样,硅谷电视剧他们做的是网站还是软件,福州做网站建设服务商文章目录前言Annotation包自定义注解自定义注解示例参考文章:java 自定义注解 用处_java注解和自定义注解的简单使用参考文章:java中自定义注解的作用和写法前言 在使用Spring Boot的时候,大量使用注解的语法去替代XML配置文件,十…

文章目录

  • 前言
  • Annotation包
  • 自定义注解
  • 自定义注解示例

参考文章:java 自定义注解 用处_java注解和自定义注解的简单使用
参考文章:java中自定义注解的作用和写法

前言

在使用Spring Boot的时候,大量使用注解的语法去替代XML配置文件,十分好用。

然而,在使用注解的时候只知道使用,却不知道原理。直到需要用到自定义注解的时候,才发现对注解原理一无所知,所以要学习一下。

Annotation包

Java类库中提供了java.lang.annotation包,包中包含了元注解和接口,定义自定义注解所需要的所有内容都在这个包中。
在这里插入图片描述
四个常用的元注解:负责注解其他注解

  • @Target:用于描述注解的使用范围:接口、类、枚举等等
  • @Retention:表示在”source、class、runtime“哪个阶段,注解依然存在
  • @Documented:说明该注解将被包含在javadoc中
  • @Inherited:说明子类可以继承父类中的该注解

自定义注解

  • 使用@interface关键字来自定义注解时,自动继承java.lang.annotation.Annotation接口(隐式继承),由编译程序自动完成其它细节。在定义注解时,不能显式继承其它的注解或接口。
  • @interface关键字用来声明一个注解,其中的每一个方法实际上是声明了一个配置参数
  • 方法的名称就是参数的名称,返回值类型就是参数的类型(返回值类型只能是基本类型、Class、String、enum),可以通过default来声明参数的默认值。
/*public @interface 注解名{访问修饰符 返回值类型 参数名() default 默认值;}
*/public @interface MyAnnotation {String name()default ""; //姓名,默认值空字符串String sex()default "男"; //性别,默认值男}
}
  1. 支持的返回类型
  • 所有基本数据类型(int,float,boolean,byte,double,char,long,short)
  • String类型
  • Class类型
  • enum类型
  • Annotation类型
  • 以上所有类型的数组

自定义注解示例

自定义注解

	public @interface MyAnnotation {String name()default ""; //姓名,默认值空字符串String sex()default "男"; //性别,默认值男}

将注解使用在类和方法上

//将注解使用在类上
@MyAnnotation(name = "谢小猫")
public class MyAnnotationOnClass{	}
public class MyAnnotationOnMethod{//将注解使用在方法上@MyAnnotation(name= "赵小虾")public voidzhaoShrimp() {}//将注解使用在方法上@MyAnnotation(name= "李小猪", sex = "女")public voidliPig() {}
}

通过反射获取注解信息并打印出来

public class MyAnnotationTest {public static voidmain(String[] args) {//通过反射机制MyAnnotationOnClass.class,判断是否含有MyAnnotation注解if (MyAnnotationOnClass.class.isAnnotationPresent(MyAnnotation.class)) {	//返回指定注解MyAnnotation myAnnotation = MyAnnotationOnClass.class.getAnnotation(MyAnnotation.class);//完整注解:@com.yanggb.anntation.MyAnnotation(name=谢小猫,sex=男)System.out.println("完整注解:" +myAnnotation);//性别:男System.out.println("性别:" +myAnnotation.sex());//姓名:谢小猫System.out.println("姓名:" +myAnnotation.name());System.out.println("---------------------------------------------------------");}//通过反射机制获取所有方法Method[] methods = MyAnnotationOnMethod.class.getDeclaredMethods();for(Method method : methods) {System.out.println("方法声明:" +method);if (method.isAnnotationPresent(MyAnnotation.class)) {MyAnnotation myAnnotationInMethod= method.getAnnotation(MyAnnotation.class);System.out.println("方法名:" +method.getName()+",姓名:" +myAnnotationInMethod.name()+ ",性别:" + myAnnotationInMethod.sex() + ")");}}
}

在这里插入图片描述

http://www.ds6.com.cn/news/31231.html

相关文章:

  • 龙岗附近做网站公司黄页大全
  • 做单网站阿里巴巴推广
  • 建站之星安装教程百度seo高级优化
  • 网站在线支付接口杭州百度开户
  • 网站开发先做后台还是前台优化人员配置
  • icp许可证seo技术培训东莞
  • 网站嵌套代码永久免费crm客户管理系统
  • 空间网站建设微信上如何投放广告
  • wordpress中文破解主题下载网站seo快速排名
  • 重庆 做网站今天的新闻内容
  • 东莞北京网站建设价格低seo引擎优化培训
  • 凡科建的网站怎么样百度明令禁止搜索的词
  • flex 做网站官方百度平台
  • 建网站多少钱建个网站需要怎么做北京朝阳区优化
  • 网站域名注册哪个好免费申请网站com域名
  • 有哪些做室内设计好用的网站有哪些seo全网优化推广
  • 网站模版 政府哪有学电脑培训班
  • html网站开发工具有哪些小程序推广50个方法
  • 网站建设素材使用应该注意什么seo和sem是什么
  • 专门做网站的软件是友情链接建立遵循的原则包括
  • 投资网站php源码在百度怎么发布作品
  • jsp新闻网站建设站点优化模型有哪些
  • 企业没有网站怎么做seo优化如何网站推广
  • 网站建设与管理用什么软件有哪些内容seo思维
  • 电子商务网站建设与管理论文广州网站优化公司如何
  • 淘宝客网站建站教程东莞seo技术培训
  • 网站建设服务有哪些方面网站关键词优化网站推广
  • 深圳高端做网站网站优化网
  • 怎样用织梦做音乐网站网络营销的渠道有哪些
  • 做景观私活的网站海南网站推广