Files
go/cmd/server/main.go
T
2026-04-27 00:32:09 +08:00

40 lines
966 B
Go

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)
}