美文网首页
Java Reflection 学习

Java Reflection 学习

作者: 君子若莲 | 来源:发表于2018-05-04 18:50 被阅读7次

四年前,从进入到现在公司的第一天起,就被告知,禁止使用反射,听说是之前发生过一起因为反射使用不当导致的生产事故,致使我对Java的反射没有过太多研究,虽然知道Spring也用到了反射,但很多细节没有去了解,最近一个关于日志的需求,用到了反射,在这里记录一下学习反射的过程。需求的场景是,我们给客户的业务系统提供了API,客户在调用API时当然会记录日志,我们在API内使用了logback,并且引入了logback的jar包,那么问题来了,经常会遇到引入的logback jar包和客户冲突的情况,所以api应该尽可能少的引入第三方依赖,为了解决这个问题,我们把logback进行了包重构,避免了jar包冲突的问题,但是也带来了新的问题,客户需要依赖我们重构之后的jar包,有些患有深度强迫症的客户偏要说,我已经引入了官方的logback 依赖,为什么还要用你重构之后的jar,你提供的这个是不是安全?跟领导讨论之后,决定提高API的灵活性,默认使用重构之后的logback,如果真遇到这种变态客户,就使用原生的logback依赖,这里就免不了要用到反射,代码里不能使用强引用(即引用带有完整包路径的class),而是需要程序在运行时判断是否能加载到重构之后的类,如果不能,就去加载原生的类,然后实例化,再调用对象的方法。未完待续。

相关文章

  • Java Reflection 学习

    四年前,从进入到现在公司的第一天起,就被告知,禁止使用反射,听说是之前发生过一起因为反射使用不当导致的生产事故,致...

  • Java反射

    1、Java Reflection Reflection 是 Java被视为动态语言(运行时改变其结构)的关键,反...

  • 反射机制的理解

    Reflection 是 Java 程序开发语言的重要特征之一,是学习Java必须知识点。 Java反射机制主要提...

  • Java反射

    本节内容学习自《Java核心技术 卷一》 1.是什么? 先说反射库,java.lang.reflection提供了...

  • Java反射在JVM的实现

    The implementation of Java reflection in JVM 本文目录 什么是Java...

  • BeanUtils包的使用

    The Java language provides Reflection and Introspection A...

  • Java反射

    1. 什么是反射(Reflection )? Java 语言的反射(Reflection)机制,就是通过动态的方式...

  • 2018-09-16

    Java Reflection, but FasterCreate dynamic applications wi...

  • Reflection反射 和 Mirror镜像

    /* Reflection反射 和 Mirror镜像 Java 中的Reflection反射 是一种在运行时...

  • java反射-Annotation学习

    文章为转载,原文:Java Reflection - Annotations [TOC] Using Java R...

网友评论

      本文标题:Java Reflection 学习

      本文链接:https://www.haomeiwen.com/subject/ldhjrftx.html