java反射技术强制类型转换_我的编程手册 -- Java 基础篇·反射

Java 的反射对于我来说曾经算是一个比较高级的观概念,以前一直不太敢用的原因是不太会用,直到我遇到了一个需要解析XML报文的需求,需要运行时动态加载某一部分类的对象属性时,我才开始认真的研究反射的用法。其实很多程序知识都是这样,纸上得来终觉浅。

7e529d93252e3686614049bf5a2aaac2.png
  • 反射是一种在程序运行时可以自我动态识别的一种的一种技术。
  • Spring 中有很多地方应用了反射,有时也会包装成为--动态规划。
  • 私有类中属性想要被其他类调用,必须要用到set() 方法,但是Spring 中获取某一个类的Service 时,并没有这么做就可以直接通过注解,直接访问其private属性,其实这就是依赖注入,其底层就是用反射实现的,通过调用setAccessible 来设置访问权限。
3fe3ed764256786e6a1d3cf7be632d38.png
  • 如果业务代码中应用了反射,一般就是程序在编译期之前无法对属性进行操作,需要在运行时动态处理一些业务逻辑。
  • Mybatis 使我们业务中常见应用框架,其中我们的Mapper.xml 中SQL 执行出来的结果,最终体现在对象中返回的过程,就是用到了反射。其根查到的列名,构造一个对象,并调用该对象的set()方法,将查到的值放进去。
  • 所有需要在程序运行过程中动态加载的类或者方法一般都是用的反射,想想你们公司的动态配置项目,基本都是通过反射做的配置分离。
  • Web项目中 DispatcherServlet 与 Filter的创建,就是在web.xml中配置并在服务器启动后动态创建。
  • 反射机制的作用其实就是获取类的相关信息,动态调用类方法 ,动态构造你想要的对象,从一个容器中获得自己想要的类型(往往需要强制类型转换)。
c3a550ae84289561904ba96aebfe07e8.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值