dependencies.py 636 B

1234567891011121314151617181920212223
  1. from dependency_injector import containers, providers
  2. from app.core.config import GlobalConfigSettings
  3. from app.core.database import DatabaseManager
  4. from app.core.observability import LogService
  5. class ServerContainer(containers.DeclarativeContainer):
  6. # config
  7. config = providers.Singleton(GlobalConfigSettings)
  8. # 阿里云日志
  9. log_service = providers.Singleton(LogService, log_config=config.provided.aliyun_log)
  10. # MySQL(组合模式,注入 log_service)
  11. mysql_manager = providers.Singleton(
  12. DatabaseManager, config=config, log_service=log_service
  13. )
  14. __all__ = [
  15. "ServerContainer",
  16. ]