In reply to khnabeel:
No. After you create the configuration object, you need to call randomize():
m_cfg = i2c_master_configuration::type_id::create("m_cfg",this); //Constructing configuration using factory method
if (!m_cfg.randomize()) `uvm_fatal("RNDERR", "Unable to randomize() configuration object");
uvm_config_db#(i2c_master_configuration)::set(null, {get_full_name(), ".i2c_sqr"}, "m_cfg", m_cfg); //putting cfg object in config db so sequences can use it