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

网站转化路径无极电影网怎样下载电影

网站转化路径,无极电影网怎样下载电影,梦创义网站建设公司,找人做个网站大概多少钱元注解 1.元注解1.1 Target1.2 Retention1.3 Inherited1.4 Documented1.5 interface 2.自定义注解2.1 创建自定义注解类2.2 实现业务逻辑2.3 使用自定义注解 1.元注解 元注解就是定义注解的注解#xff0c;是 Java 提供的用于定义注解的基本注解。 注解 说明 Retention是注解… 元注解 1.元注解1.1 Target1.2 Retention1.3 Inherited1.4 Documented1.5 interface 2.自定义注解2.1 创建自定义注解类2.2 实现业务逻辑2.3 使用自定义注解 1.元注解 元注解就是定义注解的注解是 Java 提供的用于定义注解的基本注解。 注解 说明 Retention是注解类实现声明类 Class声明类别 Category声明扩展 ExtensionTarget放在自定义注解的上边表明该注解可以使用的范围Inherited允许子类继承父类的注解在子类中可以获取使用父类注解Documented表明这个注释是由 Javadoc 记录的interface用来自定义注释类型 1.1 Target 该注解的作用是告诉 Java 将自定义的注解放在什么地方比如类、方法、构造器、变量上等。它的值是一个枚举类型有如下属性值。 ElementType.CONSTRUCTOR用于描述构造器。ElementType.FIELD用于描述成员变量、对象、属性包括 enum 实例。ElementType.LOCAL_VARIABLE用于描述局部变量。ElementType.METHOD用于描述方法。ElementType.PACKAGE用于描述包。ElementType.PARAMETER用于描述参数。ElementType.TYPE用于描述类、接口包括注解类型或 enum 声明。 1.2 Retention 该注解用于说明自定义注解的生命周期在注解中有三个生命周期。 RetentionPolicy.RUNTIME始终不会丢弃运行期也保留该注解可以使用反射机制读取该注解的信息。自定义的注解通常使用这种方式。RetentionPolicy.CLASS类加载时丢弃默认使用这种方式。RetentionPolicy.SOURCE编译阶段丢弃自定义注解在编译结束之后就不再有意义所以它们不会写入字节码。Override、SuppressWarnings 都属于这类注解。 1.3 Inherited 该注解是一个标记注解表明被标注的类型是可以被继承的。如果一个使用了 Inherited 修饰的 Annotation 类型被用于一个 Class则这个 Annotation 将被用于该 Class 的子类。 1.4 Documented 该注解表示是否将注解信息添加在 Java 文档中。 1.5 interface 该注解用来声明一个注解其中的每一个方法实际上是声明了一个配置参数。方法的名称就是参数的名称返回值类型就是参数的类型返回值类型只能是基本类型、Class、String、enum。可以通过 default 来声明参数的默认值。 定义注解格式见以下代码 public interface 注解名{定义体}2.自定义注解 有时需要自定义注解来快捷地实现功能。本实例演示如何自定义注解以及实现业务逻辑处理。 2.1 创建自定义注解类 package com.example.demo;import org.springframework.stereotype.Component;import java.lang.annotation.*;Target({ElementType.METHOD, ElementType.TYPE}) Retention(RetentionPolicy.RUNTIME) Documented Component public interface MyTestAnnotation {String value(); }代码解释如下。 使用 Target 注解标注作用范围。使用 Retention 注解标注生命周期。使用 Documented 将注解信息添加在 Java 文档中。 2.2 实现业务逻辑 以 AOP 的方式实现业务逻辑见以下代码 package com.example.demo;import org.aspectj.lang.JoinPoint; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.*; import org.aspectj.lang.reflect.MethodSignature; import org.springframework.stereotype.Component;import java.lang.reflect.Method;Aspect Component public class TestAnnotationAspect {// 拦截被 TestAnnotation 注解的方法如果需要拦截指定 package 指定规则名称的方法可以使用表达式 execution(...)Pointcut(annotation(com.example.demo.MyTestAnnotation))public void myAnnotationPointCut() {}Before(myAnnotationPointCut())public void before(JoinPoint joinPoint) throws Throwable {MethodSignature sign (MethodSignature) joinPoint.getSignature();Method method sign.getMethod();MyTestAnnotation annotation method.getAnnotation(MyTestAnnotation.class);// 获取注解参数System.out.print(打印TestAnnotation 参数 annotation.value());}}类注解 Aspect这是一个切面注解用于标记这个类为一个切面类。切面类包含了通知Advice定义了要在哪些连接点JoinPoint上执行的逻辑。Component这是一个组件注解用于将这个切面类注册为 Spring 容器中的一个组件以便 Spring 可以自动扫描并实例化它。 切入点表达式 Pointcut(annotation(com.example.demo.MyTestAnnotation))这是一个切入点Pointcut定义用于指定这个切面要拦截的操作。这里的切入点表达式表示拦截所有被 MyTestAnnotation 注解标记的方法。 通知方法 public void myAnnotationPointCut() {}这是一个空方法被上面的 Pointcut 标注用来定义切入点逻辑。 前置通知 Before(myAnnotationPointCut())这是一个前置通知表示在切入点 myAnnotationPointCut 指定的方法即被 MyTestAnnotation 注解的方法执行之前运行这个通知方法。public void before(JoinPoint joinPoint) throws Throwable {...}这是实际执行的前置通知方法。在这个方法中可以获取到被拦截方法的签名、参数等信息并且可以执行一些自定义的逻辑。 MethodSignature sign (MethodSignature) joinPoint.getSignature();获取方法签名。Method method sign.getMethod();获取具体的方法对象。MyTestAnnotation annotation method.getAnnotation(MyTestAnnotation.class);获取方法上的 MyTestAnnotation 注解。System.out.print(打印TestAnnotation 参数 annotation.value());打印注解的参数值。 这段代码的作用是在 Spring AOP 环境下拦截所有使用了 MyTestAnnotation 注解的方法并在这些方法执行之前打印出注解的参数值。这种机制可以用来做很多有趣的事情比如 日志记录、权限检查、性能监控 等极大地增强了代码的灵活性和可维护性。 2.3 使用自定义注解 在需要使用的地方使用自定义注解直接添加注解名即可见以下代码 package com.example.demo;import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import java.util.ArrayList; import java.util.List;RestController EnableAspectJAutoProxy public class TestController {RequestMapping(/)MyTestAnnotation(测试Annotation)public void testAnnotation() {System.err.println(测试自定义注解);}}运行上面代码输出如下结果
http://www.hkea.cn/news/14439120/

相关文章:

  • 做衬衫的作业网站html5 手机网站 图标
  • 周到的做pc端网站wordpress用户密码表
  • 做个营销型网站要多少钱cms系统
  • 做网站用什么格式做好北京流感最新消息
  • 钢丝高频退火设备网站建设营销渠道有哪些
  • 电商网站开发方案为什么要做一个营销型网站
  • 英语做课后作业的网站泰兴企业网站建设
  • 上海注册子公司流程和费用标准网站加载优化
  • 阿里巴巴网站建设目的网站建设 福步 2018
  • 西安企业建站费用建设银行网站登录
  • 电商运营网站 建设高端网站制造
  • 用数据库做学校网站wordpress内部服务器
  • 宝安网站开发怎么用手机免费下载1688视频
  • 吉林住房和城乡建设部网站西安seo外包公司
  • 中文网站建设设计哪里有建设网站中的视频
  • 做网站怎么样plc编程软件
  • 江西新农村建设权威网站网站开发语言用什么好
  • 郑州企业网站怎么优化广州比较好的广告公司有哪些
  • 外贸门户网站成都协会网站建设
  • 网站开发用C视频网站开发平台
  • WordPress屏蔽cn国家访问网站制作找云优化
  • 推广网站实例重庆大渡口建设网站
  • 500云网站河南网站建设价格与方案
  • 毕业设计软件开发网站开发网站维护建设招标
  • 做网站需要提供什么企业网站名称怎么写
  • html5期末大作业个人网站制作开发者选项开启好还是关闭好
  • 中国做的最好的网站建设公司国家653工程
  • 南宁网站建设优化服务网站跟域名是什么关系
  • 贵州建设公司网站北京网络报警平台官网
  • 在线看mv视频网站入口软件下载展览网站建设方案