构建入口main主文件
简洁之道
为了尽可能的凝练, 我们在入口中, 只需要加载核心组件即可
package main
import (
// 引入项目的路由
"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 bootstrap import ( "github.com/devfeel/dotweb" ) var App *dotweb.DotWeb func init() { //init DotApp App = dotweb.New() //set log path App.SetLogPath("../log") }
-
/bootstrap/bootDatabase.go
文件在这里统一加载数据库配置和驱动, 如需变动数据库相关信息, 只需要维护这一个驱动即可
内容非常简单:package bootstrap import ( // 引入gorose "github.com/gohouse/gorose" // 引入数据库配置 "github.com/gohouse/kuaixinwen/config" // 引入mysql驱动, 这里选择对应的数据库驱动即可 _ "github.com/go-sql-driver/mysql" ) // 数据库链接对象 var DB gorose.Connection func 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 config var 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
见下一节介绍