Описание тега sling-models
Модели слинга предоставляют возможность использовать "чистые" объекты POJO, управляемые аннотациями, в проектах на основе Sling наряду с возможностями внедрения зависимостей и возможностью адаптации различных объектов Sling OOTB.
Многие проекты Sling хотят иметь возможность создавать объекты модели - POJO, которые автоматически сопоставляются с объектами Sling, обычно ресурсами, но также и с объектами запросов. Иногда этим POJO также требуются услуги OSGi.
Модели слинга предоставляют эти возможности, а также базовую функциональность внедрения зависимостей.
Цели дизайна включают:
- Полностью аннотации. "Чистые" POJO.
- По возможности используйте стандартные аннотации.
- Возможность подключения
- Возможность поддержки свойств ресурса (через
ValueMap
),SlingBindings
, OSGi сервисы, атрибуты запроса OOTB - Возможность адаптации нескольких объектов - требуется минимум
Resource
а такжеSlingHttpServletRequest
- Клиенту не нужно знать / заботиться о том, что эти объекты отличаются от любых других фабрик адаптеров.
- Возможность поддерживать как классы, так и интерфейсы.
- Возможность работы с существующей инфраструктурой Sling (т.е. не требовать изменения других пакетов).
Комплект является частью проекта Apache Sling ( sling)
дальнейшее чтение
- О моделях строп на веб-сайте Apache Sling
- Презентация, знакомящая с возможностями моделей стропов в контексте AEM, те же слайды с конференции AEMHub 2014
Подобные решения с открытым исходным кодом
- http://neba.io/ - Пружинная инъекция зависимостей перенесена в Sling
- Slice - внедрение зависимостей на основе Guice с привязками OOTB для Sling и классов