package main import ( "gorm.io/driver/mysql" "gorm.io/gorm" "level_go/internal/api" "level_go/internal/router" "level_go/internal/service" "level_go/pkg/config" // 引入配置包 "log" ) func main() { // 1. 初始化配置 config.InitConfig() // 2. 使用配置中的 DSN 连接数据库 dsn := config.GetDSN() db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{}) if err != nil { log.Fatal("数据库连接失败:", err) } // 3. 依赖注入 commonSrv := &service.CommonService{DB: db} stockSrv := &service.StockService{DB: db} limitBoardSrv := &service.LimitBoardService{DB: db} commonHandler := &api.CommonHandler{Service: commonSrv} stockHandler := &api.StockHandler{Service: stockSrv} limitBoardHandler := api.NewLimitBoardHandler(limitBoardSrv) // 4. 启动路由 r := router.NewRouter(commonHandler, stockHandler, limitBoardHandler) port := config.GetServerPort() log.Printf("服务启动于端口 %s", port) r.Run(port) }