Deprecation: #86907 - Deprecate usage of dependency injection with non public properties
See forge#86907
Description
The dependency injection via properties has been marked as deprecated for all properties that are non public.
While there are several reasons not to use property injection at all there is one specific drawback with non public properties. To be able to inject dependencies into non public properties, said properties have to be made accessible during runtime. As that process is quite slow and expensive and non cachable, it should not be used at all.
Impact
Dependency injection will no longer work with non public properties.
Affected Installations
All installations that use dependency injection with non public properties.
Migration
The easiest, yet ugliest migration is to make the property public. If possible, switch to constructor or setter injection instead.