Added logic to load singletons when requested not when registered

This commit is contained in:
2022-05-24 17:51:17 +02:00
parent cf305aeebb
commit 1c94fb5bd1
3 changed files with 20 additions and 24 deletions

View File

@@ -7,6 +7,7 @@ from cpl_core.console.console import Console
from cpl_core.dependency_injection import ServiceProviderABC
from cpl_core.logging.logger_abc import LoggerABC
from cpl_core.mailing import EMailClientABC, EMail
from cpl_core.pipes import IPAddressPipe
from test_service import TestService
@@ -43,5 +44,9 @@ class Application(ApplicationABC):
self._logger.debug(__name__, f'Customer: {self._configuration.environment.customer}')
Console.spinner('Test', self._wait, 2, spinner_foreground_color='red')
test: TestService = self._services.get_service(TestService)
ip_pipe: IPAddressPipe = self._services.get_service(IPAddressPipe)
test.run()
test2: TestService = self._services.get_service(TestService)
ip_pipe2: IPAddressPipe = self._services.get_service(IPAddressPipe)
Console.write_line(f'DI working: {test == test2 and ip_pipe != ip_pipe2}')
# self.test_send_mail()

View File

@@ -1,9 +1,9 @@
from arguments.generate_argument import GenerateArgument
from arguments.install_argument import InstallArgument
from cpl_core.application import StartupExtensionABC
from cpl_core.configuration import ConfigurationABC, ArgumentTypeEnum
from cpl_core.dependency_injection import ServiceCollectionABC
from cpl_core.environment import ApplicationEnvironmentABC
from arguments.generate_argument import GenerateArgument
from arguments.install_argument import InstallArgument
class ParameterStartup(StartupExtensionABC):