ServiceInjector
Resolves injection points using the org.apache.causeway.applib.services.registry.ServiceRegistry (in other words provides a domain service instance to all fields and setters that are annotated with javax.inject.Inject ).
API
ServiceInjector.java
interface ServiceInjector {
T injectServicesInto(T domainObject) (1)
}
1 | injectServicesInto(T)
Injects domain services into the object. |
Implementation
The Core Metamodel module provides a default implementation, ServiceInjectorDefault. Under the covers this delegates to Spring Framework’s injection mechanism.
Usage
The primary use case is to instantiate domain objects using a regular constructor, and then using the service to set up any dependencies.
For example:
Customer cust = serviceInjector.injectServicesInto(
new Customer("Freddie", "Mercury"));
repositoryService.persist(cust);