模仿Java 的 Spring 全家桶實現的一套 GoLang 的應用程式框架

2020-12-16 星集

Go-Spring 項目簡介

Go-Spring 是模仿 Java 的 Spring 全家桶實現的一套 GoLang 的應用程式框架,遵循「習慣優於配置」的原則,提供了依賴注入、自動配置、開箱即用、豐富的第三方類庫集成等功能,能夠讓程式設計師少寫很多的樣板代碼。

完整的 go-spring 項目一共包含 6 個模塊,當前模塊僅實現了基礎的 IOC 容器的能力,該模塊可以獨立使用,但是配合其他模塊才能使得效率最大化。

所有模塊的列表:

1、程序啟動框架

AppRunner

2、核心功能模塊

GoSpring

3、啟動器核心組件

GoSpringBoot

4、開源微服務組件

GoSpringCloud

5、多個項目啟動器

GoSpringBootStarter

GoSpringCloudStarter

項目特點

面向接口編程面向模塊化編程簡單的啟動器框架依賴注入、屬性注入項目依賴管理簡化的 http test 框架支持多種配置文件格式支持多環境配置文件統一的代碼風格自動加載配置、模塊豐富的示例,極易上手代碼規範

一個單詞的包名採用小寫格式(Maybe)多個單詞的包名使用首字母大寫的格式HTTP 接口強制使用 POST 方法業務代碼允許 panic 中斷請求返回值包含詳細的錯誤信息 …實現原理

AppRunnerSpringContextBean 管理Bean 注入,autowire屬性注入,valueSpringBootApplication,適配 AppRunner啟動器框架,Starters常用模塊簡介,Web、Redis、Mysql 等Spring-Message 框架Spring-Check + RPC框架未來規劃

繼承 Java Spring 全家桶的設計原則,但不照搬照抄,適應 Go 語言形成滴滴的 Go 項目和代碼規範完整支持微服務框架,監控、日誌跟蹤等和 dubbo 協議、框架打通創建新項目的工具軟體探索無伺服器架構支持管理端點 endpoint更豐富的 debug 信息輸出支持用戶配置覆蓋模塊默認配置支持禁用特定的自動配置定製 banner屬性支持佔位符,鬆散綁定等高級特性 …開源地址:

相關焦點

  • Java中最強大的框架spring
    今天學習內容安排如下:對ssm框架有一個了解。IoC控制反轉的xml配置管理,這也就是spring框架的核心知識點之一。DI依賴注入的實現。一、SSM框架概述這個框架啊,估計就跟婚姻一樣,也有七年之癢之說,以前呢也有一套框架叫SSH。久而久之之後就覺得這也不好那也不好,於是就出現了一套新的框架叫SSM。
  • Java經典面試題Spring是什麼 Spring框架入門詳解
    那麼Spring是什麼呢,Spring遵循分層的結構思想什麼什麼實現了高內聚低耦合巴拉巴拉一大堆,咬文嚼字不是我的強項,直接開幹,讓你們看看Spring到底是什麼東西。到目前為止Sping框架就搭建完畢了。
  • 五分鐘學Java:一篇文章搞懂spring和springMVC
    讓我們先看看百度百科對於spring的定義,Spring框架是由於軟體開發的複雜性而創建的。Spring使用的是基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅僅限於伺服器端的開發。從簡單性、可測試性和鬆耦合性角度而言,絕大部分Java應用都可以從Spring中受益。
  • java中spring入門
    1、spring的概念apache推出的java企業框架,提供了基於ioc的對象工廠、aop面向切面編程等功能及其他增強功能。 當前版本4.xxx,支持註解的配置。 springmvc。用來描述框架的重要特徵spring針對ioc的具體實現:依賴注入(DI): Dependency Injection概念:(考點:如簡述IOC)我們需要的對象,不是由我們自己創建,而是由外部容器事先準備好,我們需要時才去拿。
  • Spring框架AOP核心詳解
    AOP稱為面向切面編程,在程序開發中主要用來解決一些系統層面上的問題,比如日誌,事務,權限等待,Struts2的攔截器設計就是基於AOP的思想,是個比較經典的例子。,after,afterReturning,afterThrowing,around(4)Pointcut(切入點):就是帶有通知的連接點,在程序中主要體現為書寫切入點表達式(5)AOP代理:AOP框架創建的對象,代理就是目標對象的加強。
  • Spring中Spring Java Format插件的作用
    設置到這一點的插件包括:應用包裝和空白約定的源格式化程序一個checkstyle插件,可以強制執行代碼庫的一致性該項目的目的是提供一致性,因此,每個插件通常不可配置。這意味著您需要更改代碼以匹配所需的約定,您無法配置插件約定以匹配您的樣式。根據它的GitHub repo,大多數編碼約定和樣式來自Spring Framework和Spring Boot項目。
  • Javaweb開發學習路線及Java三大框架分享
    Java在客戶端的應用有java applet,不過使用得很少,Java在伺服器端的應用非常的豐富,比如Servlet,JSP和第三方框架等等。Java技術對Web領域的發展注入了強大的動力。框架是程式設計師們必學的知識點,而且是十分重要的應用,Spring、Struts、Hibernate也是經典中的經典,最常用的框架類型。作為Java新手應該如何去學習呢?
  • java框架有哪些 0基礎從入門到精通
    Java框架有哪些?框架說白了就是工作者多年以來總結出的一些開發標準。讓我們可以以成功的經驗模式來開發我們自已的系統,一般使用框架的好處是,在好的框架下,開發者只需要寫一些必須的代碼;他們不需要直接接觸底層的API。這一點很重要。
  • 如何能理解 Spring 框架的思想?
    Spring 是一個輕量級的開源的 JavaEE 框架,由作者 Rod Johnson 創建,興起於 2003 年。目的是為了解決企業級開發的複雜性問題,Spring 出發點就是不重新造輪子,而是使現有的技術或框架更加易於使用。具有簡單,易於擴展和維護和低耦合等特點。
  • OSGi與Spring DM:使用Spring DataSource
    之前已經完成了使用Spring DM構建簡單應用並導入導出服務套件的過程,下面將介紹Spring DataSource的使用。顧名思義,Spring DataSource用於完成Spring應用程式與資料庫直接的聯絡。
  • 前阿里P8熬夜肛出Spring全家桶筆記,靠它入職騰訊
    前言Spring全家桶在當下是非常火,在網際網路企業運用的也是特別廣泛的技術,要是你不懂Spring+SpringMVC+SpringBoot+SpringCloud肯定是要不了高薪的,它為企業級開發提供給了豐富的功能,那麼全家桶系列怎麼學最輕鬆呢,來自前阿里P8熬夜整理出來的spring全家桶系列筆記(Spring實戰+SpringBoot指南+SpringCloud
  • 總結Java部分的框架和開源項目
    Spring提供了一個用標準Java語言編寫的AOP框架,它給POJOs提供了聲明式的事務管理和其他企業事務--如果你需要--還能實現你自己的aspects。這個框架足夠強大,使得應用程式能夠拋開EJB的複雜性,同時享受著和傳統EJB相關的關鍵服務。Spring還提供了可以和IoC容器集成的強大而靈活的MVCWeb框架。
  • 快速創建 Spring Cloud 應用的 Spring Initializr 使用及原理
    我們將對軟體工程的抽象層次自上而下進行切分,會得到如下的幾個層級:行業、解決方案、應用、功能、組件;明顯的, start.spring.io 目前只能提供組件級別的支持。再將組件這層展開,會發現這樣一個生命周期:組件引入、組件配置、功能開發、線上運維。 start.spring.io 也只實現了「組件引入」這一功能。
  • 動力節點Java學院2021年Java學習路線圖最新出爐啦
    動力節點深知同學們的學習困難,為此整理了一套最新的2021年新版學習路線圖,增加了目前企業最新應用技術,這套學習路線圖,只要你完成一半基本就可以找到很不錯的工作了,如果想要獲得高薪,那就努力學完它吧!第一階段:Javase基礎
  • 一文輕鬆搞定批處理框架 Spring Batch
    這類工作即為「批處理」  為什麼使用Spring Batch  Spring Batch 作為 Spring 的子項目,是一款基於 Spring 的企業批處理框架。通過它可以構建出健壯的企業批處理應用。
  • spring面試題目!
    什麼是spring?Spring框架的設計目標,設計理念,和核心是什麼Spring的優缺點是什麼?Spring有哪些應用場景Spring由哪些模塊組成?Spring 框架中都用到了哪些設計模式?詳細講解一下核心容器(spring context應用上下文) 模塊Spring框架中有哪些不同類型的事件Spring 應用程式有哪些不同組件?使用 Spring 有哪些方式?
  • Java面試中常問的Spring方面問題(涵蓋七大方向共55道題,含答案)
    Spring 是一個開源應用框架,旨在降低應用程式開發的複雜度。它是輕量級、鬆散耦合的。它具有分層體系結構,允許用戶選擇組件,同時還為 J2EE 應用程式開發提供了一個有凝聚力的框架。@Component:這將 java 類標記為 bean。它是任何 Spring 管理組件的通用構造型。spring 的組件掃描機制現在可以將其拾取並將其拉入應用程式環境中。@Controller:這將一個類標記為 Spring Web MVC 控制器。標有它的 Bean 會自動導入到 IoC 容器中。
  • 七個開源的 Spring Boot 前後端分離項目
    區別於一般項目,該項目提供頁面可配置式的、動態的 RESTful api 安全管理支持,並且實現數據傳輸動態秘鑰加密,jwt 過期刷新,用戶操作監控等,加固應用安全。的企業級微服務框架(用戶權限管理,配置中心管理,應用管理...)
  • spring boot與spring mvc各自的優缺點
    (2)SpringMVC是一種基於Java的以請求為驅動類型的輕量級Web框架,其目的是將Web層進行解耦,即使用「請求-響應」模型,從工程結構上實現良好的分層,區分職責,簡化Web開發。藉助於註解,Spring MVC提供了幾乎是POJO的開發模式,使得控制器的開發和測試更加簡單。