首页 > 编程语言 > 详细

java中简单的反射机制

时间:2019-07-13 10:39:47      阅读:98      评论:0      收藏:0      [点我收藏+]

1、为什么会用到反射机制?

最近需要写定时服务,如果一个一个去写定时服务的话,后期维护是很烦人的,通过反射机制,我们就可以将定时服务的信息通过数据配置来实现,这样我们后期就可以将整个模块交给运维人员去管理,这样就大大的减少了我们的运维时间,可以更多的时间和精力投入到新项目或者学习中。原来在用.net的时候已经实现了这部分的功能,现在公司大方向转到java,我们也只能跟着转了。

因为接到了这个任务后面还是要做类似.net的运维功能,所以趁着空闲了解了一下java中的反射机制:

下面写一个简单的例子:

首先,定义一个父类(因为是测试代码,命名之类的都比较随意)

public interface test {
    public abstract void test1();
}

其次,定义两个子类(这边是测试所以就写了两个,实际开发中可以自行添加)

public class test1 implements test {
    @Override
    public void test1() {
        System.out.println("测试1");
    }
}
public class test2 implements test {
    @Override
    public void test1() {
        System.out.println("测试2");
    }
}

做完上面两步,最后就是通过反射机制来实现了:

public static void main(String[] args){
try {
//list可以将这部分配置在数据库中
List<String>list=new ArrayList<>();
list.add("service.impl.test2");
list.add("service.impl.test1");
for (String className:list) {
test t1=(test)Class.forName(className).newInstance();//test对应的父类
t1.test1();
}
}
catch (Exception e)
{
e.printStackTrace();
}
}

注:list部分如果是做定时服务的话,可以将每个方法对应的运行时间配置在数据库这样我们就可以通过数据库配置灵活的控制每个服务的运行时间,就不需要每次时间改变都要去手动修改代码。

java中简单的反射机制

原文:https://www.cnblogs.com/Revival-of-everything/p/11179541.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!