真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何通過(guò)構(gòu)建最小WebAPI來(lái)展示Go-Spring的強(qiáng)大

這篇文章主要介紹如何通過(guò)構(gòu)建最小Web API來(lái)展示Go-Spring的強(qiáng)大,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)公司專(zhuān)注于渝北網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供渝北營(yíng)銷(xiāo)型網(wǎng)站建設(shè),渝北網(wǎng)站制作、渝北網(wǎng)頁(yè)設(shè)計(jì)、渝北網(wǎng)站官網(wǎng)定制、重慶小程序開(kāi)發(fā)服務(wù),打造渝北網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供渝北網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。

To Gopher

下面是使用 Go 標(biāo)準(zhǔn)庫(kù)實(shí)現(xiàn)的 Hello World! 程序。代碼真的很少!

package mainimport (
  "net/http")func main() {
  http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
    w.Write([]byte("Hello World!"))
  })
  http.ListenAndServe(":8080", nil)}

Gin 是目前最火的 Web 框架之一,它實(shí)現(xiàn)的 Hello World! 程序如下。也很簡(jiǎn)單。

package mainimport (
  "github.com/gin-gonic/gin"
  "github.com/gin-gonic/gin/ginS")func main() {
  ginS.GET("/", func(c *gin.Context) {
    c.String(200, "Hello World!")
  })
  ginS.Run()}

再來(lái)看看使用 Go-Spring 實(shí)現(xiàn)的 Hello World! 程序。同樣很簡(jiǎn)單。

package mainimport (
  "github.com/go-spring/spring-core/gs"
  "github.com/go-spring/spring-core/web"
  _ "github.com/go-spring/starter-gin")func main() {
  gs.GetMapping("/", func(ctx web.Context) {
    ctx.String("Hello World!")
  })
  gs.Run()}

但是,可以注意到使用 Go-Spring 實(shí)現(xiàn)的示例中有一個(gè)匿名導(dǎo)入的包,它的作用是告訴 Hello World! 程序使用 Gin 作為底層 Web Server 實(shí)現(xiàn)。如果我們把這一行改為如下代碼,程序仍然可以正常執(zhí)行,但是這時(shí)候程序使用 Echo 作為底層 Web Server 實(shí)現(xiàn)。

_ "github.com/go-spring/starter-echo"

雖然 Go-Spring 多了一行匿名包導(dǎo)入,但因此獲得了比標(biāo)準(zhǔn)庫(kù)更強(qiáng)大的能力。

To Javaer

Go-Spring 雖然提供了和 Go 標(biāo)準(zhǔn)庫(kù)一樣的編程模型,但本質(zhì)上它是基于 IoC (依賴(lài)注入) 實(shí)現(xiàn)的,因此它具有標(biāo)準(zhǔn)庫(kù)不具備的自動(dòng)配置能力,而且與 Java Spring Boot 相比,Go-Spring 的編程效率也不差。

下面是使用 Java Spring Boot 實(shí)現(xiàn)的一個(gè) Hello World! 程序,但是與上面的示例不同,為了展示 Java Spring 的依賴(lài)注入能力,它同時(shí)會(huì)打印 JAVA_HOME 環(huán)境變量的值。代碼如下。

package com.example.demo11;import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerclass MyController {

  @Value("${JAVA_HOME}")
  String JavaHome;

  @GetMapping("/")
  public String hello() {
    return this.JavaHome + " - Hello World!";
  }}@SpringBootApplicationpublic class Demo11Application {

  public static void main(String[] args) {
    SpringApplication.run(Demo11Application.class, args);
  }}

下面是使用 Go-Spring 的依賴(lài)注入能力實(shí)現(xiàn)的能同時(shí)打印 GOPATH 環(huán)境變量和 Hello World! 的程序。代碼如下。

package mainimport (
  "github.com/go-spring/spring-core/gs"
  "github.com/go-spring/spring-core/web"
  _ "github.com/go-spring/starter-gin")func init() {
  gs.Object(new(MyController)).Init(func(c *MyController) {
    gs.GetMapping("/", c.Hello)
  })}type MyController struct {
  GoPath string `value:"${GOPATH}"`}func (c *MyController) Hello(ctx web.Context) {
  ctx.String(c.GoPath + " - Hello World!")}func main() {
  gs.Run()}

比較上面兩個(gè)示例,可以看出 Go-Spring 真正實(shí)現(xiàn)了 Go 和 Java Spring 的融合,在保持 Go (語(yǔ)法) 簡(jiǎn)單的同時(shí)具備 Java Spring 的強(qiáng)大配置能力。

以上是“如何通過(guò)構(gòu)建最小Web API來(lái)展示Go-Spring的強(qiáng)大”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


分享題目:如何通過(guò)構(gòu)建最小WebAPI來(lái)展示Go-Spring的強(qiáng)大
網(wǎng)頁(yè)鏈接:http://weahome.cn/article/johhjj.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部