sdk反射外部接口(class.forName)

1、加载反射文件

public class ReflectClassLoader {
    protected static final Logger LOG = LoggerFactory.getLogger(ReflectClassLoader.class);

    private static ReflectClassLoader intance;

    public Properties props=null;

    private DecodeReflectClassLoader(){
        try {
            InputStream is = new FileInputStream("refconfig.properties");
            props= new Properties();
            props.load(is);
        } catch (IOException e) {
            LOG.info("[ReflectClassLoader] exception", e)
        }
    }

    public static ReflectClassLoader getIntance(){
        if(intance==null){
            intance=new ReflectClassLoader();
        }
        return intance;
    }

}

反射文件:refconfig.properties

# V3
V3DBootNotificationRequest=.......
V3DStatusNotificationRequest=......

2、反射创建实例

    private Object instanceByName(String propName, Class classObj) {
        Object obj = null;
        String classString = ReflectClassLoader.getIntance().props.getProperty(propName);
        if (StringUtils.isNoneBlank(classString)) {
            try {
                obj = Class.forName(classString).newInstance();
            } catch (ClassNotFoundException e) {
                LOG.info("[ClassNotFoundException] exception", e);
            } catch (InstantiationException e) {
                LOG.info("[InstantiationException] exception", e);
            } catch (IllegalAccessException e) {
                LOG.info("[IllegalAccessException] exception", e);
            }
        }
        LOG.debug("classString: {}, obj: {}", classString, obj);
        return obj;
    }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值