
现在用 golang 写了些的数据处理程序,往往都是读一个数据库,然后写到另外一个数据库。 中间可能访问下 redis。
这样在 main 函数的开始和结束的时候,都要处理一遍这些事情。 另外,使用的时候还需要通过参数传递,比较麻烦。
为了解决这些重复的工作,就将数据库、redis 相关的设置成全局变量。
mysql、redis 使用一致的接口,通过配置初始化。比如:
def initMysql(name string) def getMysql(name string) *sql.conn def unInitMysql(name string) // 使用 initMysql("src") initMysql("dest") // do foo unInitMysql("dest") unInitMysql("src") 但是,这样存在一个问题。程序内部使用 mysql 和 redis 可能会调整。如果可以像 spring 一样自动注入的方式(之前用过一段时间的 spring,说到底是被 spring 灌的) 就更方便了。
向大家请教两个问题:
1 kkfnui OP 可以用懒加载的方式,解决显式初始化的问题 |
2 dcalsky 2018-01-07 18:11:48 +08:00 单例模式可解。 |
3 orvice 2018-01-08 01:01:22 +08:00 def 是什么鬼 |