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?