In my project I am seeing in Sling model classes, the resource resolver is fetched in 2 ways
@Inject private Resource resource;
ResourceResolver resolver = resource.getResourceResolver();
Vs
@Inject @Self private SlingHttpServletRequest request;
ResourceResolver resolver = request.getResourceResolver();
While both are Sling implementations, is there any benefit of using one opposed other? Or are these 2 yield same resolver with no performance difference?