baize.go 1.0 KB

12345678910111213141516171819202122232425262728293031
  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), api.WithPort(apiConfig.Port))
  11. // 创建基础设施
  12. infrastructureConfig := new(infrastructure.Config)
  13. infrastructureConfig.DatabaseConfig.Operations = conf.InfrastructureConfig.Database.Operations
  14. infrastructureConfig.DatabaseConfig.DataService = conf.InfrastructureConfig.Database.DataService
  15. infrastructureConfig.CacheConfig = conf.InfrastructureConfig.Cache
  16. infrastructureInstance := infrastructure.NewInfrastructure(*infrastructureConfig)
  17. return application.New(apiInstance, infrastructureInstance)
  18. }
  19. func DestroyApplication(app *application.App) {
  20. if app == nil {
  21. return
  22. }
  23. infrastructure.DestroyInfrastructure(app.Infrastructure())
  24. }