本公開涉及計算機,尤其涉及移動應用(application,app)、軟件開發(fā)等領域,能夠用于移動應用產品業(yè)務迭代等應用場景,具體涉及應用依賴注入方法、系統(tǒng)、裝置、電子設備及存儲介質。
背景技術:
1、在應用產品的業(yè)務迭代過程中,隨著時間和業(yè)務的增長,各業(yè)務模塊組件間的耦合關系會逐漸加劇,導致維護和迭代成本上升。
技術實現(xiàn)思路
1、本公開提供了一種應用依賴注入方法、系統(tǒng)、裝置、電子設備及存儲介質。
2、根據(jù)本公開的第一方面,提供了一種應用依賴注入方法,包括:接收依賴需求組件的依賴調用請求;根據(jù)依賴調用請求和已知的依賴提供映射關系確定依賴提供組件;基于依賴提供組件生成依賴注入實例;將依賴注入實例返回給依賴需求組件。
3、根據(jù)本公開的第二方面,提供了一種應用依賴注入框架,包括:編碼構造單元,用于定義多種裝飾器并利用多種裝飾器對依賴需求組件和依賴提供組件進行標記;第一編譯單元,用于構建提供組件映射關系;第二編譯單元,用于根據(jù)提供組件映射關系生成依賴提供映射關系;運行加載單元,用于動態(tài)生成依賴實例并進行依賴注入。
4、根據(jù)本公開的第三方面,提供了一種應用依賴注入裝置,包括:請求接收模塊,用于接收依賴需求組件的依賴調用請求;映射解析模塊,用于根據(jù)依賴調用請求和已知的依賴提供映射關系確定依賴提供組件;實例生成模塊,用于基于依賴提供組件生成依賴注入實例;實例返回模塊,用于將依賴注入實例返回給依賴需求組件。
5、根據(jù)本公開的第四方面,提供了一種電子設備,包括:至少一個處理器;以及與該至少一個處理器通信連接的存儲器;其中,該存儲器存儲有可被該至少一個處理器執(zhí)行的指令,該指令被該至少一個處理器執(zhí)行,以使該至少一個處理器能夠執(zhí)行本公開實施例中任一的方法。
6、根據(jù)本公開的第五方面,提供了一種存儲有計算機指令的非瞬時計算機可讀存儲介質,其中,該計算機指令用于使該計算機執(zhí)行根據(jù)本公開實施例中任一的方法。
7、根據(jù)本公開的第六方面,提供了一種計算機程序產品,包括計算機程序,該計算機程序在被處理器執(zhí)行時實現(xiàn)根據(jù)本公開實施例中任一的方法。
8、采用本公開的方案,能夠降低模塊間的耦合度,便于應用的維護和擴展。
9、應當理解,本部分所描述的內容并非旨在標識本公開的實施例的關鍵或重要特征,也不用于限制本公開的范圍。本公開的其它特征將通過以下的說明書而變得容易理解。
1.一種應用依賴注入方法,包括:
2.根據(jù)權利要求1所述的方法,其中,接收依賴需求組件的依賴調用請求之前,所述方法還包括:
3.根據(jù)權利要求2所述的方法,其中,所述依賴提供組件包括實現(xiàn)類;所述依賴需求組件包括運行時類和注入位置;
4.根據(jù)權利要求3所述的方法,其中,所述依賴提供組件還包括接口類;所述接口類與所述運行時類對應;
5.根據(jù)權利要求2所述的方法,其中,所述方法還包括:
6.根據(jù)權利要求5所述的方法,其中,所述基于所述依賴提供組件的相關數(shù)據(jù),生成與所述依賴提供組件對應的提供組件映射關系,包括:
7.根據(jù)權利要求5所述的方法,其中,所述根據(jù)所述提供組件映射關系,生成所述依賴提供映射關系,包括:
8.根據(jù)權利要求1所述的方法,其中,所述根據(jù)所述依賴調用請求和已知的依賴提供映射關系確定依賴提供組件,包括:
9.根據(jù)權利要求8所述的方法,其中,所述基于所述依賴提供組件生成依賴注入實例,包括:
10.根據(jù)權利要求9所述的方法,其中,所述根據(jù)所述注入方式和所述待注入位置,利用動態(tài)加載機制生成與所述依賴提供組件匹配的所述依賴注入實例,包括:
11.一種應用依賴注入框架,包括:
12.根據(jù)權利要求11所述的框架,其中,所述編碼構造單元,包括:
13.根據(jù)權利要求11所述的框架,其中,所述第一編譯單元,包括:
14.根據(jù)權利要求11所述的框架,其中,所述第二編譯單元,包括:
15.根據(jù)權利要求11所述的框架,其中,所述運行加載單元,包括:
16.一種應用依賴注入裝置,包括:
17.根據(jù)權利要求16所述的裝置,其中,所述應用依賴注入裝置,還包括:
18.根據(jù)權利要求17所述的裝置,其中,所述依賴提供組件包括實現(xiàn)類;所述依賴需求組件包括運行時類和注入位置;
19.根據(jù)權利要求18所述的裝置,其中,所述依賴提供組件還包括接口類;所述接口類與所述運行時類對應;
20.根據(jù)權利要求17所述的裝置,其中,所述應用依賴注入裝置還包括:
21.根據(jù)權利要求20所述的裝置,其中,所述組件映射模塊,包括:
22.根據(jù)權利要求20所述的裝置,其中,所述依賴映射模塊,包括:
23.根據(jù)權利要求16所述的裝置,其中,所述映射解析模塊,包括:
24.根據(jù)權利要求23所述的裝置,其中,所述實例生成模塊,包括:
25.根據(jù)權利要求24所述的裝置,其中,所述實例注入子模塊,用于:
26.一種電子設備,包括:
27.一種存儲有計算機指令的非瞬時計算機可讀存儲介質,其中,計算機指令用于使計算機執(zhí)行根據(jù)權利要求1-10中任一項的方法。
28.一種計算機程序產品,包括存儲在存儲介質上的計算機程序,計算機程序在被處理器執(zhí)行時實現(xiàn)根據(jù)權利要求1-10中任一項的方法。