构建入口main主文件
简洁之道
为了尽可能的凝练, 我们在入口中, 只需要加载核心组件即可
package mainimport (// 引入项目的路由"github.com/gohouse/kuaixinwen/router"// 引入驱动. "github.com/gohouse/kuaixinwen/bootstrap"// fmt包"fmt"
)func main() {fmt.Println("start...,port:8888, visit: http://localhost:8888")// 加载数据库defer DB.Close()// 加载路由router.Run(App.HttpServer)// 启动web服务err := App.StartServer(8888)if err!=nil{fmt.Println(err)}
}
到这里, main.go
文件已经全部完成, 文中有对应的注释, 另外, 一些对象, 我们需要对他做一些说明:
main
函数的DB
和App
这两个是bootstrap
驱动之后的gorose和dotweb对象, 具体如下所示
main
包中引入的 bootstrap
目录如下说明
-
/bootstrap/bootRouter.go
文件这个是路由驱动, 网站的所有请求驱动, 都是由他来完成
内容非常简单:package bootstrapimport ("github.com/devfeel/dotweb" )var App *dotweb.DotWebfunc init() {//init DotAppApp = dotweb.New()//set log pathApp.SetLogPath("../log")}
-
/bootstrap/bootDatabase.go
文件在这里统一加载数据库配置和驱动, 如需变动数据库相关信息, 只需要维护这一个驱动即可
内容非常简单:package bootstrapimport (// 引入gorose"github.com/gohouse/gorose"// 引入数据库配置"github.com/gohouse/kuaixinwen/config"// 引入mysql驱动, 这里选择对应的数据库驱动即可_ "github.com/go-sql-driver/mysql" ) // 数据库链接对象 var DB gorose.Connectionfunc init() {var err error// 装配数据库信息, 并加载database// config.DbConfig 为数据库配置信息DB,err = gorose.Open(config.DbConfig)if err!=nil{panic("数据库链接失败")}errs := DB.Ping()if errs!=nil{panic("数据库链接失败")} }
-
对应的
/config/database.go
的配置如下package configvar DbConfig = map[string]interface{}{"default": "mysql_dev", // 默认数据库配置"SetMaxOpenConns": 300, // (连接池)最大打开的连接数,默认值为0表示不限制"SetMaxIdleConns": 10, // (连接池)闲置的连接数, 默认-1"mysql_dev": map[string]string{// 定义名为 mysql_dev 的数据库配置"host": "192.168.200.248", // 数据库地址"username": "gcore", // 数据库用户名"password": "gcore", // 数据库密码"port": "3306", // 端口"database": "test", // 链接的数据库名字"charset": "utf8", // 字符集"protocol": "tcp", // 链接协议"prefix": "", // 表前缀"driver": "mysql", // 数据库驱动(mysql,sqlite,postgres,oracle,mssql)}, }
到这里, 驱动全部完成
main
中引入的 路由 router
见下一节介绍
本项目源码: https://github.com/gohouse/kuaixinwen