我们推荐使用go.mod
来管理项目依赖,这也是Golang官方推荐的包管理方式。
go.mod
https://github.com/gogf/gf-demos/blob/master/go.mod
module github.com/gogf/gf-demos
require github.com/gogf/gf latest
go 1.12
其中注意module
名称设置为github.com/gogf/gf-demos
。这里我们只需要依赖GF
框架即可。其中的go 1.12
表示运行该项目所需的最低Go
版本,这里也可以不设置。Goland
会自动帮我们设置为当前使用的Go
版本。
配置文件
GF
框架的核心组件均实现了便捷的文件配置管理方式,包括Server
、日志组件、数据库ORM
、模板引擎等等,非常强大便捷。具体的配置项可以查看后续对应的章节介绍。GF
框架大部分的核心组件配置项是不区分大小写的,但是为保证规范统一,我们建议在配置文件中统一使用小驼峰形式。
https://github.com/gogf/gf-demos/blob/master/config/config.example.toml
需要注意哦,仓库中提供的
config.example.toml
为配置文件示例,如果想要正常运行示例程序,你可以将其拷贝或者重命名为config.toml
。
# HTTP Server.
[server]
address = ":8199"
serverRoot = "public"
serverAgent = "gf-demos"
logPath = "/tmp/log/gf-demos/server"
nameToUriType = 2
routeOverWrite = true
# Logger configurations.
[logger]
path = "/tmp/log/gf-demos"
level = "all"
stdout = true
# Template view configurations.
[viewer]
path = "template"
defaultFile = "index.html"
# Database configurations.
[database]
link = "mysql:root:12345678@tcp(127.0.0.1:3306)/test"
debug = true
# 数据库日志对象配置
[database.logger]
Path = "/tmp/log/gf-demos/sql"
Level = "all"
Stdout = true
# GF-CLI工具配置
[gfcli]
# 自定义DAO生成配置(默认是读取database配置)
[[gfcli.gen.dao]]
link = "mysql:root:12345678@tcp(127.0.0.1:3306)/test"
tables = "user"
启动设置
在boot
包中执行代码层级的初始化,比如一些组件模块的设置。
https://github.com/gogf/gf-demos/blob/master/boot/boot.go
package boot
import (
_ "github.com/gogf/gf-demos/packed"
"github.com/gogf/gf/frame/g"
"github.com/gogf/swagger"
)
// 用于应用初始化。
func init() {
s := g.Server()
s.Plugin(&swagger.Swagger{})
}
可以看到,我们的包初始化管理使用了包初始化方法init
来做隐式初始化,这样做的好处是可以在boot
目录中使用不同的go
文件注册不同的init
来分别实现不同的初始化配置管理,在业务比较复杂的项目中比较实用。