baize.go 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. package baize
  2. import (
  3. "git.sxidc.com/go-framework/baize/framework/core/api"
  4. "git.sxidc.com/go-framework/baize/framework/core/application"
  5. "git.sxidc.com/go-framework/baize/framework/core/infrastructure"
  6. )
  7. func NewApplication(conf application.Config) *application.App {
  8. // 创建API
  9. apiConfig := conf.ApiConfig
  10. apiInstance := api.New(api.WithUrlPrefix(apiConfig.UrlPrefix),
  11. api.WithPort(apiConfig.Port),
  12. api.WithLogSkipPaths(apiConfig.LogSkipPaths...))
  13. // 创建基础设施
  14. infrastructureConfig := new(infrastructure.Config)
  15. infrastructureConfig.DatabaseConfig = conf.InfrastructureConfig.Database
  16. infrastructureConfig.CacheConfig = conf.InfrastructureConfig.Cache
  17. infrastructureConfig.MessageQueueConfig = conf.InfrastructureConfig.MessageQueue
  18. infrastructureInstance := infrastructure.NewInfrastructure(*infrastructureConfig)
  19. return application.New(apiInstance, infrastructureInstance)
  20. }
  21. func DestroyApplication(app *application.App) {
  22. if app == nil {
  23. return
  24. }
  25. infrastructure.DestroyInfrastructure(app.Infrastructure())
  26. }