golang应用快速搭建框架jotnar
博客/golang
jotnar 是一个golang项目快速搭建的框架,它本身是集成其它常用的框架,以达到快速开发的目的
安装
go get -u github.com/paulyung541/jotnar
初始化
项目里经常会使用命令行来初始化,或者是使用配置文件。我们每新开一些项目,都会用到这些基础的功能,但是每次都去写,难免会枯燥,也不利于项目集成。使用jotnar
则将这些烦琐的操作集成进来,能够非常快速地搭建一个项目
配置初始化
将命令行传参或者配置文件的设置加载到内存中,并在任何地方随心所欲地使用它们。
这里提供了2种选择:
- 命令行传参
- 使用viper这个优秀的配置文件读取框架
命令行传参方式进行初始化
./application --ip 192.168.0.1 —port 100
golang代码中可以这样初始化和读取
jotnar.New().InitConfigDefaultCommandFlag()
fmt.Println(jotnar.GetVaule(“ip”))
使用viper方式
必须使用-f
来指定配置文件参数
./application -f config.toml
你的toml文件如下
[server]
url = “myserver.com”
代码里通过下面方式初始化和读取
jotnar.New().InitConfigViperToml()
fmt.Println(jotnar.GetViper().GetString(“server.url”))
如果需要单元测试里进行初始化,则用下面的代码指定文件位置
func TestRead(t *testing.T) {
jotnar.New().InitConfigViperTomlTest(“config.toml”)
t.Log(jotnar.GetViper().GetString("server.url"))
}
数据库初始化
默认使用了gorm作为数据库连接和orm框架,默认可以配置2个mysql实例,一个进行读,一个进行写,如果只配置了一个,则读写都是这一个
toml配置如下
[mysql.main]
dsn = “root:@tcp(localhost:3306)/test?charset=utf8&parseTime=True&loc=Local”
maxIdle = 5
maxOpen = 10
一个简单的例子
package main
import (
"fmt"
"github.com/paulyung541/jotnar"
)
type Student struct {
ID uint32
Name string
sex uint8
}
func (*Student) TableName() string {
return "student"
}
func main() {
fmt.Println("this is example")
jotnar.New().
InitConfigViperToml().
InitMysql().
Init(func() {
fmt.Println("initialization over")
})
var stu Student
if err := jotnar.ReadGorm().First(&stu).Error; err != nil {
fmt.Println(err.Error())
return
}
fmt.Printf("stu = %+v\n", stu)
}
读写分别使用下面两个函数获取到*gorm.DB
jotnar.ReadGorm()
jotnar.WriteGorm()
未完…
有疑问加站长微信联系(非本文作者)