Code:
$di->setShared('router', function() use ($di){
        $oRouter = new \Phalcon\Mvc\Router();
        //Define a route
        $oRouter->addGet(
            "/example",
            array(
                "controller" => "\PhalconRest\Controllers\ExampleController",
                "action"     => "get",
            )
        );
        return $oRouter;
    });
    $this->setDI( $di);
    // $this => \Phalcon\Mvc\Micro
    if( $this->getRouter() === $this->getDI('router'))
    {
        var_dump('same');
    }
    else
    {
        var_dump('different');
    }
    // result => string(9) "different"Is it unavailable to overwrite router in micro?