- Sling model is only back-end business logic provider to AEM components.
- Adaptable are just a way to get respective sling object reference. For example if you need slingRequest object in sling model then make your sling model adaptable to HttpSlingServletRequest.
- You can not get a value from sling model in a servlet or in any other class.
- When you need a reference of an OSGI service, you have only one way, that is @ OSGiService annotation.
- You can export only JSON data thru sling model exporter.
- You can not extend one sling model into another sling model.
- Sling model can to be created outside of the designated package in AEM.
- One Interface can not be a Sling Model, whenever you need to create a Sling Model you will have to write a pure POJO concrete implemented java class.
- You can only read properties of a node thru sling model, you can not change a node property thru sling model.
- Constructor injection..! Nothing like that in sling model.
More details can be found on below URL
https://aemhelper.blogspot.com/2021/08/common-myths-around-sling-model.html
I found it very informative and useful.
Thanks
Umesh Thakur