爲了儘量的凝練, 咱們在入口中, 只須要加載核心組件便可mysql
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
文件已經所有完成, 文中有對應的註釋, 另外, 一些對象, 咱們須要對他作一些說明:git
main
函數的DB
和App
這兩個是bootstrap
驅動以後的gorose和dotweb對象, 具體以下所示
main
包中引入的 bootstrap
目錄以下說明/bootstrap/bootRouter.go
文件 github
這個是路由驅動, 網站的全部請求驅動, 都是由他來完成
內容很是簡單:web
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
文件 sql
在這裏統一加載數據庫配置和驅動, 如需變更數據庫相關信息, 只須要維護這一個驅動便可
內容很是簡單:數據庫
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
的配置以下bootstrap
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) }, }
到這裏, 驅動所有完成 oracle
main
中引入的 路由 router
見下一節介紹tcp