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

景区网站建设方案 费用上海知名网站制作公司

景区网站建设方案 费用,上海知名网站制作公司,网站链接改名怎做301,硬件开发与软件开发前景哪个好文章目录 自定义注解反射代理模式、静态代理动态代理 自定义注解 springboot 框架中定义了大量的注解,为什么加上注解之后就能实现配置了。比如Autowired, 将 IOC 中的对象拿出来使用。 创建自定义的注解 Target(ElementType.METHOD) //作用的目标 Retention(Re…

文章目录

      • 自定义注解
      • 反射
      • 代理模式、
        • 静态代理
        • 动态代理

自定义注解

springboot 框架中定义了大量的注解,为什么加上注解之后就能实现配置了。比如@Autowired, 将 IOC 中的对象拿出来使用。

创建自定义的注解

@Target(ElementType.METHOD) //作用的目标
@Retention(RetentionPolicy.RUNTIME) //作用的时间
public @interface  LogAnnotation {public String  methodName() default "";
}

在方法上面使用注解

@LogAnnotation(methodName = "print")
public  void  print(){System.out.println("Hello World");
}

使用反射机制来处理注解。反射可以扫描所有的类。在这个里面可以做一些详细得到操作,比如获取方法的一些参数等


public class AnnotationProcessor {public void process() throws NoSuchMethodException {Method method = test.class.getMethod("print");if (method.isAnnotationPresent(LogAnnotation.class)) {LogAnnotation annotation = method.getAnnotation(LogAnnotation.class);String methodName = annotation.methodName();System.out.println(methodName);}}public static void main(String[] args) {AnnotationProcessor annotationProcessor = new AnnotationProcessor();try {annotationProcessor.process();} catch (NoSuchMethodException e) {e.printStackTrace();}}
}

反射

反射是 Java 框架的灵魂,通过反射可以获取任意一个类所有属性和方法,还可以调用这些属性和方法。

spring、mybatis 这些底层都是用了大量的反射机制。

想要通过反射获取到动态的信息 需要获取到 class 对象

package com.cl.jvppeteerdemo.util;import lombok.SneakyThrows;import java.lang.reflect.Method;public class ReflectDemo {public String  name;public static void sayHello(){System.out.println("Hello World");}@SneakyThrowspublic static void main(String[] args) {Class<ReflectDemo> reflectDemoClass = ReflectDemo.class;reflectDemoClass.getDeclaredMethod("sayHello").invoke(null);}}

代理模式、

静态代理

普通的静态代理对象

public interface SmsSerivce {public void send();
}
public class SmsSerivceImpl implements SmsSerivce{@Overridepublic void send() {System.out.println("aaa");}
}

Proxy 代理类

public class SMSProxy implements SmsSerivce{private SmsSerivce smsSerivce;public SMSProxy(SmsSerivce smsSerivce) {this.smsSerivce = smsSerivce;}@Overridepublic void send() {System.out.println("代理之前设置");smsSerivce.send();System.out.println("Proxy: SMS sent");}public static void main(String[] args) {SmsSerivce smsSerivce1=new SmsSerivceImpl();SMSProxy proxy=new SMSProxy(smsSerivce1);proxy.send();}
}
动态代理

package com.cl.jvppeteerdemo.静态代理;import java.lang.reflect.Proxy;public class JDKProxyFactory {public  static  Object test(Object target){return Proxy.newProxyInstance(// target通带代理类target.getClass().getClassLoader(),//被代理类实现的接口,可以有很多target.getClass().getInterfaces(),//实现invovationHandler的对象new DebugInvocationHandler(target));}public static void main(String[] args) {SmsSerivce smsSerivce  = (SmsSerivce) JDKProxyFactory.test(new SmsSerivceImpl());smsSerivce.send();}
}

动态代理存在的问题

只能代理实现接口的类, 如果这个类没有实现接口那么就不能实现代理。

http://www.dtcms.com/wzjs/23555.html

相关文章:

  • 西宁网站开发多少钱百度搜索一下
  • 宜黄住房和城乡建设部网站编写网站
  • 销售网站设计方案免费seo诊断
  • 网站弹窗怎么做微信广告平台推广
  • 网站建设的规模设想跨境电商网站开发
  • 肇庆建站模板源码seo外链是什么
  • 飞扬世纪网站建设湖南百度推广开户
  • 网站备案 拍照网点seo工资水平
  • 拱墅区哪里有网站建设企业网络营销策划书范文
  • 做嗳嗳的网站网址域名
  • wordpress声明插件福建seo推广方案
  • 随州市住房和城乡建设委员会网站房产百度账号申请注册
  • 柳州学校网站建设一个好的产品怎么推广
  • 网站维护机构给大家科普一下b站推广网站
  • app网页制作教程seo点击工具
  • 四川省建设网站建筑电工百家号权重查询站长工具
  • 淘宝上买网站建设靠谱吗宁波seo优化费用
  • 云浮哪有做网站公司佛山seo
  • 网站怎么做404 301苏州网站建设制作公司
  • 源码怎样做网站如何引流推广产品
  • 正品查询网站怎么做凡科建站和华为云哪个好
  • 想做一个网站怎么做的做网站用什么软件好
  • 腾讯cdn加速wordpressseo推广教学
  • wordpress手机端显示seo的基本工作内容
  • 网站建设与建设谷歌优化排名哪家强
  • 宁国网站建设友链目录网
  • 在国内做推广产品用什么网站好如何制作一个个人网站
  • 宝宝投票网站怎么做的百度竞价推广代理商
  • 天河区门户网站官网seo专业知识培训
  • 美心西饼在哪个网站做问卷调查前端seo是什么