Apache Sling中resourceResolver.adaptTo(Session.class)的目的是什么?

The*_*mer 7 java jcr sling aem

我是Apache Sling,CQ5等的新手.

在我们的代码库中,我们有一个类似于此的代码段:

void perform(SlingHttpServletRequest request, SlingHttpServletResponse response) {
    ResourceResolver resourceResolver = request.getResourceResolver();

    Session session = resourceResolver.adaptTo(Session.class);
    PageManager pageManager = resourceResolver.adaptTo(PageManager.class);
}
Run Code Online (Sandbox Code Playgroud)

什么adapTo在这里做什么?

还有一个很好的文档/用户手册我可以阅读开始使用Sling,CQ5等?

san*_*zky 6

许多吊索对象中的adaptTo()方法允许"转换"对象.Sling本可以决定添加一个resolver.getSession()方法,但这不会非常灵活.adaptTo的好处在于它是动态的.您可以创建适配器以在不同类型之间进行转换(它们是OSGi服务).Sling和CQ5 默认还包括一堆适配器.吊索Wiki有一些关于适配器的文档.

关于如何从Sling和CQ5开始,吊索网站是一个很好的起点