public static <T> T populate(final Properties properties, final Class<T> clazz) {
        T obj = null;
        try {
            obj = clazz.getDeclaredConstructor().newInstance();
            return populate(properties, obj);
        } catch (Throwable e) {
            log.warn("Error occurs !", e);
        }
        return obj;
    }
@Test
    public void testPopulate() {
        CustomizedConfig config = BeanUtils.populate(properties, CustomizedConfig.class);

        //RemotingConfig config = BeanUtils.populate(properties, RemotingConfig.class);
        Assert.assertEquals(config.getRmqMaxRedeliveryTimes(), 120);
        Assert.assertEquals(config.getStringTest(), "kaka");
        Assert.assertEquals(config.getRmqConsumerGroup(), "Default_Consumer_Group");
        Assert.assertEquals(config.getRmqMessageConsumeTimeout(), 101);
        Assert.assertEquals(config.getLongTest(), 1234567890L);
        Assert.assertEquals(config.getDoubleTest(), 10.234, 0.000001);
    }