反射

作者: 次饭饭_2628 | 来源:发表于2019-04-18 08:56 被阅读0次

    一、什么是Java反射?

    Java反射就是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;并且能改变它的属性。而这也是Java被视为动态语言的一个关键性质。

    二、反射的作用

    我们知道反射机制允许程序在运行时取得任何一个已知名称的class的内部信息,包括包括其modifiers(修饰符),fields(属性),methods(方法)等,并可于运行时改变fields内容或调用methods。那么我们便可以更灵活的编写代码,代码可以在运行时装配,无需在组件之间进行源代码链接,降低代码的耦合度;还有动态代理的实现等等;但是需要注意的是反射使用不当会造成很高的资源消耗!

    三、IoC(控制反转)和DI(依赖注入)

    浅谈对Spring Ioc以及DI的理解

    • 总而言之,我们可以通过下面两幅图来理解

      image image
    • IoC容器作用:管理所有的java对象(也称bean)及其相互间的依赖关系

    • “依赖注入”是对“控制反转”的不同说法,本质是一回事

    • 控制反转分为依赖注入和依赖查找,但依赖注入广泛

    • IoC两种设计模式:

      • 反射:在运行状态中,根据提供的类的路径或类名,通过反射来动态获取该类的所有属性和方法
      • 工厂模式: 注入方式: 构造器:constructor-arg 和Setter:property

    相关文章

      网友评论

          本文标题:反射

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