![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
beego从入门到实践
文章平均质量分 80
流光影下
一个爱编程的技术宅
展开
-
golang beego结合wire依赖注入及自动路由
1.2 通过go get方式安装进入目录编译然后将wire.exe移动到 C:\Users\leell\go\bin目录下具体目录通过go env进行查看2 配置业务代码我没有按照beego的默认目录,而是通过自定义app包名进行业务模块化app/category/category_controller.goapp/category/category_service.goapp/category/category_dao.go app/category/modul原创 2024-04-27 19:44:48 · 479 阅读 · 0 评论 -
beego项目部署与热更新
上面这个命令的意思就是给指定进程发送一个HUB信号,beego程序接收到这个信号后就开始处理热更新操作。热更新指的是在不中断服务的情况下,完成程序升级。独立部署就是直接将上面得到的压缩包,上传到服务器,解压缩后直接运行go程序。现在将新版本的beego程序压缩包上传到服务器,解压缩,直接覆盖老的文件。一般服务器都是linux,这里主要介绍linux系统的项目部署。假设目前老版本的程序正在运行,进程ID是32604。, 在项目根目录执行下面命令完成项目打包。这里我引用的是在线聊天室,参考源码是。原创 2024-01-20 15:36:35 · 534 阅读 · 0 评论 -
beego的模块篇 - I18n国际化
简单配置一个测试Controller,正式项目肯定会抽出一个BaseController,这里简单测试就MainController了。针对不同页面,同一个键的名称很可能会对应不同的含义。因此,i18n 模块还利用 INI 格式配置文件的节特性来实现分区功能。对于每个请求,beego 都会采用单独的 goroutine 来处理,因此可以对每个控制器匿名嵌入一个。本地化文件的文件名和后缀是随意的,不过建议采用与 beego 官网相同的风格来对它们命名。,则可以通过分区功能来实现。,而在关于页面需要显示为。原创 2024-01-20 01:02:18 · 543 阅读 · 0 评论 -
beego API 自动化文档
第二个参数是返回的类型,必须使用 {} 包含,第三个是返回的对象或者字符串信息,如果是 {object} 类型,那么 bee 工具在生成 docs 的时候会扫描对应的对象,这里填写的是想对你项目的目录名和对象,例如。路由信息,包含两个参数,使用空格分隔,第一个是请求的路由地址,支持正则和自定义路由,和之前的路由规则一样,第二个参数是支持的请求方法,放在。参数,表示需要传递到服务器端的参数,有五列参数,使用空格或者 tab 分割,五个分别表示的含义如下。之中,如果有多个方法,那么使用。注意:路由解析只会在。原创 2024-01-19 23:46:10 · 1131 阅读 · 0 评论 -
beego的模块篇 - task任务
利用该工具来定时的做一些任务,但是有些时候我们的进程内也希望定时的来处理一些事情,可以使用crontab。原创 2024-01-19 22:45:20 · 509 阅读 · 0 评论 -
beego的模块篇 - 监控检查、性能监控
在 v2.x 里面,我们将原本的toolbox拆分为两块,一块是admin,即治理模块;另外一块是task。原创 2024-01-19 21:52:33 · 484 阅读 · 0 评论 -
beego的模块篇 - config自定义文件配置
加载自定义配置到beego.AppConfig中可以配置:Beego框架 app.conf配置参数及环境配置-CSDN博客1. 文件配置目前支持解析的文件格式有 ini、json、xml、yaml安装依赖库:go get github.com/beego/beego/v2/core/config1.1 ini文件配置使用配置文件:appname="beego"[demo]key1 = "asta"key2 = "xie"首先初始化一个解析器对象,然后获取数据,ini原创 2024-01-19 21:15:00 · 669 阅读 · 0 评论 -
beego的模块篇 - Context上下文
上下文模块主要是针对 HTTP 请求中,request 和 response 的进一步封装,他包括用户的输入和输出,用户的输入即为 request,context 模块中提供了 Input 对象进行解析,用户的输出即为 response,context 模块中提供了 Output 对象进行输出。原创 2024-01-19 19:45:00 · 893 阅读 · 0 评论 -
beego的模块篇 - 客户端Http请求
httplib 库主要用来模拟客户端发送 HTTP 请求,类似于 Curl 工具,支持 JQuery 类似的链式操作。使用起来相当的方便;原创 2024-01-19 18:45:00 · 504 阅读 · 0 评论 -
beego的模块篇 - logs日志
beego 2.0版本的一个新特性是能够在日志发送到首选适配器之前对其应用自定义格式。原创 2024-01-19 18:00:00 · 2260 阅读 · 0 评论 -
beego的模块篇 - cache缓存
beego 的 cache 模块是用来做数据缓存的,目前支持 file、memcache、memory 和 redis 四种引擎。原创 2024-01-19 16:30:00 · 513 阅读 · 0 评论 -
beego的view篇
对于一个复杂的 LayoutContent,其中可能包括有javascript脚本、CSS 引用等,根据惯例,通常 css 会放到 Head 元素中,javascript 脚本需要放到 body 元素的末尾,而其它内容则根据需要放在合适的位置。beego 的模板处理引擎采用的是 Go 内置的 html/template 包进行处理,而且 beego 的模板处理逻辑是采用了缓存编译方式,也就是所有的模板会在 beego 应用启动的时候全部编译然后缓存在 map 里面。原创 2024-01-19 15:30:00 · 1543 阅读 · 0 评论 -
beego的model篇 - 原生SQL查询与构造查询
ORM 更适用于简单的 CRUD 操作,而 QueryBuilder 则更适用于复杂的查询,例如查询中包含子查询和多重联结。QueryBuilder 提供了一个简便,流畅的 SQL 查询构造器。QueryRows 支持的对象还有 map 规则是和 QueryRow 一样的,但都是 slice。Raw SQL 查询获得的结果集 Value 为 string 类型,NULL 字段的值为空 ``改变 Raw(sql, args...) 中的 args 参数,返回一个新的 RawSeter。原创 2024-01-19 09:00:00 · 395 阅读 · 0 评论 -
beego的model篇 - 高级查询
ORM 以 QuerySeter 来组织查询,每个返回 QuerySeter 的方法都会获得一个新的 QuerySeter 对象。原创 2024-01-19 08:00:00 · 864 阅读 · 0 评论 -
beego的model篇 - 模型定义和表生成model
复杂的模型定义不是必须的,此功能用作数据库数据转换和自动建表。除了开头的大写字母以外,遇到大写会增加 _ ,原名称中的下划线保留。Id int如果前缀设置为 prefix_ 那么表名为:prefix_auth_user为单个或多个字段增加索引Id int// 多字段索引// 多字段唯一键仅支持 MySQL默认使用的引擎,为当前数据库的默认引擎,这个是由你的 mysql 配置参数决定的。你可以在模型里设置 TableEngine 函数,指定使用的引擎Id int// 设置引擎为 INNODB。原创 2024-01-18 21:04:31 · 1006 阅读 · 0 评论 -
beego的model篇 - ORM使用与CRUD操作
ORM 在进行 RegisterDataBase 的同时,会获取数据库使用的时区,然后在 time.Time 类型存取时做相应转换,以匹配时间系统,从而保证时间不会出错。有时候需要自行管理连接池与数据库链接(比如:go 的链接池无法让两次查询使用同一个链接的),但又想使用 ORM 的查询功能。将你定义的 Model 进行注册,最佳设计是有单独的 models.go 文件,在他的 init 函数中进行注册。切换数据库,或者,进行事务处理,都会作用于这个 Ormer 对象,以及其进行的任何查询。原创 2024-01-18 15:42:01 · 1210 阅读 · 0 评论 -
beego的model篇 - 介绍与快速入门
beego ORM 是一个强大的 Go 语言 ORM 框架。支持 Go 的所有类型存储轻松上手,采用简单的 CRUD 风格自动 Join 关联表跨数据库兼容查询允许直接使用 SQL 查询/映射严格完整的测试保证 ORM 的稳定与健壮。原创 2024-01-18 13:40:15 · 436 阅读 · 0 评论 -
beego的控制器Controller篇 - XSRF过滤
如果开启了 XSRF,那么 beego 的 Web 应用将对所有用户设置一个 _xsrf 的 cookie 值(默认过期 1 小时),如果 POST PUT DELET 请求中没有这个 cookie 值,那么这个请求会被直接拒绝。如果你开启了这个机制,那么在所有被提交的表单中,你都需要加上一个域来提供这个值。beego 有内建的 XSRF 的防范机制,在应用配置文件中加上。通过扩展 ajax 给每个请求加入 xsrf 的 header。原创 2024-01-18 01:00:15 · 385 阅读 · 0 评论 -
beego的控制器Controller篇 — 错误处理
从 1.4.3 版本开始,支持 Controller 方式定义 Error 错误处理函数import (所有的函数都是Error 开头,后面的名字就是我们调用 Abort 的名字,例如 Error404 函数其实调用对应的就是 Abort("404")我们就只要在 beego.Run 之前采用 beego.ErrorController 注册这个错误处理函数就可以了import (beego的控制器Controller篇 — 错误处理 - 汇思班。原创 2024-01-18 00:32:04 · 402 阅读 · 0 评论 -
beego的控制器Controller篇 — 过滤器
beego 支持自定义过滤中间件,例如安全验证,强制跳转等。InsertFilter 函数的三个必填参数,一个可选参数pattern 路由规则,可以根据一定的规则进行路由,如果你全匹配可以用position 执行 Filter 的地方,五个固定参数如下,分别表示不同的执行过程BeforeStatic 静态地址之前BeforeRouter 寻找路由之前FinishRouter 执行完逻辑之后执行的过滤器AfterExec 执行完 Controller 逻辑之后执行的过滤器。原创 2024-01-17 13:16:44 · 901 阅读 · 0 评论 -
beego的控制器Controller篇 — Session控制
beego 内置了 session 模块,目前 session 模块支持的后端引擎包括 memory、cookie、file、mysql、redis、couchbase、memcache、postgres,用户也可以根据相应的 interface 实现自己的引擎。原创 2024-01-17 12:39:06 · 1150 阅读 · 0 评论 -
beego的控制器Controller篇 — 数据处理
beego controller控制器请求数据处理、多种格式响应数据输出、表单数据验证、Flash数据及URL构建,请求数调用 ServeJSONP 之后,会设置 content-type 为 application/javascript,然后同时把数据进行 JSON 序列化,然后根据请求的 callback 参数设置 jsonp 输出。原创 2024-01-16 23:23:45 · 1082 阅读 · 0 评论 -
beego的控制器Controller篇 — 运行机制
声明了一个控制器 MainController,这个控制器里面内嵌了 beego.Controller,这就是 Go 的嵌入方式,也就是 MainController 自动拥有了所有 beego.Controller 的方法。而 beego.Controller 拥有很多方法,其中包括 Init、Prepare、Post、Get、Delete、Head 等方法。可以通过重写的方式来实现这些方法,而我们上面的代码就是重写了 Get 方法,当get请求时,就会执行MainController的Get方法。原创 2024-01-16 22:13:27 · 953 阅读 · 0 评论 -
beego的控制器Controller篇 — 路由设置
这个函数是关键,第一个参数表示路由 URI, 第二个就是你自己实现的, 注册之后就会把所有 rpc 作为前缀的请求分发到中进行处理.这个函数其实还有第三个参数就是是否是前缀匹配,默认是 false, 如果设置了 true, 那么就会在路由匹配的时候前缀匹配,即/rpc/user这样的也会匹配去运行上面列举的是默认的请求方法名(请求的 method 和函数名一致,例如GET请求执行Get函数,POST请求执行Post使用第三个参数,第三个参数就是用来设置对应 method 到函数名,定义如下。原创 2024-01-16 13:37:43 · 1313 阅读 · 0 评论 -
Beego框架 app.conf配置参数及环境配置
beego 目前支持 INI、XML、JSON、YAML格式的配置文件解析,但是默认采用了 INI 格式解析,用户可以通过简单的配置就可以获得很大的灵活性。beego 默认会解析当前应用下的 conf/app.conf 文件。BConfig 就是 beego 里面的默认的配置,你也可以直接通过beego.BConfig.AppName="beepkg"这样来修改,和上面的配置效果一样,只是一个在代码里面写死了,而配置文件就会显得更加灵活。原创 2024-01-15 13:24:01 · 1203 阅读 · 0 评论 -
通过bee创建第一个beego项目
提示:beego框架下项目需要再GOPATH/src下进行开发,我的GOPATH是C:\Users\leell\go。原创 2024-01-16 00:07:59 · 481 阅读 · 0 评论 -
beego的安装及bee工具的使用
如果bee.exe没有生成,则手动编译再复制到GOPATH/bin中,这里我是没有通过这种方式生成bee.exe的,我是采用的另一种方式,手动编译生成bee.exe,然后复制到GOPATH/bin。进入GOPATH/pkg\mod/github.com/beego/bee/v2@v2.1.0下,执行go build。注:GOROOT是go的安装目录,GOPATH是go的指定工作目录,GOBIN是工作目录生成的bin文件路径。这里可能提示go.mod不存在,可以通过go mod init 初始化一个。原创 2024-01-15 21:25:59 · 1794 阅读 · 0 评论