架构中使用反射机制

本文通过一个具体的例子介绍了如何在自定义架构中利用Java的反射机制处理类。当第三方系统请求时,需要将ID进行转换,作者创建了InternalConverter和ExternalConverter两个类,并将它们的全限定名存入数据库。通过Properties读取配置,使用反射实例化这些类并调用相应方法完成转换。文章强调了在面对公司内部框架时,开发者应该积极探究其原理和实现。
摘要由CSDN通过智能技术生成

1. 前言

在公司工作中,读者可能会发现,如果开发的系统是公司自己架构的框架,那么就会用到很多自己封装的技术,这个时候对于开发人员来说,就不是用什么Spring、Struts2等外面流行的框架了,而是要去学习公司内部的框架。像笔者的公司,用的就是自己框架,有很多方法是封装好的方法,你只要调用就行了,而不需要你去寻问底层是怎么实现的。我想读者也可能遇到这样的情况。但不管怎样,只要你有技术水平,你就不怕遇到什么样的技术,流行的也好,公司自己封装的也好,凡正就是一套路,就那回事了。所以,今天笔者将讲讲反射机制在自己架构中如何使用。(源码在GitHub上:git@github.com:owenwilliam/Invoke.git)

2. 例子说明

有这样的需求,当第三方系统向我们系统发来请求时,我们需要第三方系统给出他们的ID号,而这个ID是属于第三方的,可能是他规格的位数(一般不会超过8位),所以我们开发需要将第三方给的ID转化为我们自己内部的ID,我们规定是18位,并且有“202”开始。看到这里,读者可能会觉得这个也太简单了。是的这个确实简单,不就是写两个类,一个类是第三方到达我们系统我们转化为我们需要的格式18位;再写一个类,用于将我们系统发到第三方的ID转化为第三方需要的格式;我们分别命名为:InternalConverter和ExternalConverter。

但是令笔者好奇的是,有些公司框架只要在 我们写好了这两个类之后,不需要再写其它方法了,而是将两类名加上包名放到数据库的一张表中,然后在WEB界面添加InternalConverter或ExternalConverter,要跟数据库中的添加的名字一样,这样就行了。这不是开玩笑吗?这样的话,它到底是怎么运行的,我们都不知道。哎!默默感到程序员的失败了。就像你买了张从北京去深圳的票,不需要你管路线怎么走,睡上一觉就到达了深圳,这样的旅途不好玩。所以笔者在业余时间就自己写了个程序,来探索其中的奥秘。

3. 创建InternalConverter和ExternalConverter

 根据上面的说明,我们分别来创建两个类,分别代表InternalConverter和ExternalConverter。

1) InternalConverter

package com.owen.work.converter.impl;
/**
 * 当外部的ID进入我们系统时,我们需要将值进行转换:
 *     数值以“202”开始,总的18位,不足的在“202”和数值之间加“0”,凑成18位
 * @autho
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值