成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

go語言中的spring,go語言中的指針

手擼golang 仿spring ioc/aop 之9 掃碼4

手擼golang 仿spring ioc/aop 之9 掃碼4

創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網(wǎng)站設計、成都網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的鼎城網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

最近閱讀 [Spring Boot技術內(nèi)幕: 架構設計與實現(xiàn)原理] (朱智勝 , 2020.6)

本系列筆記擬采用golang練習之

Talk is cheap, show me the code.

注解掃描接口及默認實現(xiàn)。注解的屬性支持雙引號和重音號字符串。

針對注解信息的單元測試

(未完待續(xù))

誰能用通俗易懂的語言來概括一下spring的功能是什么,什么情況下用?

IoC=反轉控制,也算是我們常說的依賴注入。

如在類A中要調(diào)用類B,我們通常的做法是在A中new一個B的實例。

這樣如果類B的名字發(fā)生了改變之類的時候,還要到類A當中去修改,造成了類之間的“緊密耦合”。

如果引入Spring的話通過依賴注入的方式,在配置文件中將類A和類B配置成為bean,分別設置他們的id和實現(xiàn)類。同時在類A對應的bean的描述中將類B的bean注入,在類A中寫入相應的setter方法,Spring在初始化的時候就會自動提前實例化配置文件中配置的類。

這樣通過Spring框架可以通過配置文件來進行類之間關系的處理,降低了類之間的耦合度。

我也初學,以上是個人對IoC的理解~~希望對你有用

你這個好像是hibernate在Spring里的配置啊,建議你去看一看hibernate的東西~~

spring是做什么的?怎么用?

spring的作用

Spring是一個開源的輕量級的應用程序開發(fā)框架,其目的是簡化企業(yè)的應用程序開發(fā),降低侵入性,Spring提供的IOC和AOP功能,可以將組件之間的耦合度降到最低,便于后期的維護和升級,實現(xiàn)了軟件的高內(nèi)聚低耦合思想。

我們使用Spring框架開發(fā)的時候不僅可以使用Spring本身提供的功能外,還可以使用第三方框架和技術來整合應用,可以自由的選擇采用哪種技術去開發(fā)。

spring使用方法

1.下載源碼

spring-framework-3.2.5.RELEASE

Spring必須要引入的jar文件有5個,分別是:

commons-logging-1.1.3.jar 日志管理

spring-beans-3.2.5.RELEASE.jar bean節(jié)點

spring-context-3.2.5.RELEASE.jar spring上下文節(jié)點

spring-core-3.2.5.RELEASE.jar spring核心功能

pring-expression-3.2.5.RELEASE.jar spring表達式相關表

2.配置

核心配置文件是:applicationContext.xml或者bean.xml,一般都是前者,JavaBean對象在這里面被創(chuàng)建,然后在java中調(diào)用就可以了。

假設已經(jīng)存在一個User的JavaBean代碼,需要創(chuàng)建對象,然后在java中使用。

3.使用API

java中Spring是什么?

1.1.1 Spring是什么

Spring是一個開源的輕量級Java SE(Java 標準版本)/Java EE(Java

企業(yè)版本)開發(fā)應用框架,其目的是用于簡化企業(yè)級應用程序開發(fā)。應用程序是由一組相互協(xié)作的對象組成。而在傳統(tǒng)應用程序開發(fā)中,一個完整的應用是由一組相互協(xié)作的對象組成。所以開發(fā)一個應用除了要開發(fā)業(yè)務邏輯之外,最多的是關注如何使這些對象協(xié)作來完成所需功能,而且要低耦合、高內(nèi)聚。業(yè)務邏輯開發(fā)是不可避免的,那如果有個框架出來幫我們來創(chuàng)建對象及管理這些對象之間的依賴關系??赡苡腥苏f了,比如“抽象工廠、工廠方法設計模式”不也可以幫我們創(chuàng)建對象,“生成器模式”幫我們處理對象間的依賴關系,不也能完成這些功能嗎?可是這些又需要我們創(chuàng)建另一些工廠類、生成器類,我們又要而外管理這些類,增加了我們的負擔,如果能有種通過配置方式來創(chuàng)建對象,管理對象之間依賴關系,我們不需要通過工廠和生成器來創(chuàng)建及管理對象之間的依賴關系,這樣我們是不是減少了許多工作,加速了開發(fā),能節(jié)省出很多時間來干其他事。Spring框架剛出來時主要就是來完成這個功能。

Spring框架除了幫我們管理對象及其依賴關系,還提供像通用日志記錄、性能統(tǒng)計、安全控制、異常處理等面向切面的能力,還能幫我管理最頭疼的數(shù)據(jù)庫事務,本身提供了一套簡單的JDBC訪問實現(xiàn),提供與第三方數(shù)據(jù)訪問框架集成(如Hibernate、JPA),與各種Java

EE技術整合(如Java Mail、任務調(diào)度等等),提供一套自己的web層框架Spring

MVC、而且還能非常簡單的與第三方web框架集成。從這里我們可以認為Spring是一個超級粘合平臺,除了自己提供功能外,還提供粘合其他技術和框架的能力,從而使我們可以更自由的選擇到底使用什么技術進行開發(fā)。而且不管是JAVA

SE(C/S架構)應用程序還是JAVA EE(B/S架構)應用程序都可以使用這個平臺進行開發(fā)。讓我們來深入看一下Spring到底能幫我們做些什么?

1.1.2 Spring能幫我們做什么

Spring除了不能幫我們寫業(yè)務邏輯,其余的幾乎什么都能幫助我們簡化開發(fā):

一、傳統(tǒng)程序開發(fā),創(chuàng)建對象及組裝對象間依賴關系由我們在程序內(nèi)部進行控制,這樣會加大各個對象間的耦合,如果我們要修改對象間的依賴關系就必須修改源代碼,重新編譯、部署;而如果采用Spring,則由Spring根據(jù)配置文件來進行創(chuàng)建及組裝對象間依賴關系,只需要改配置文件即可,無需重新編譯。所以,Spring能幫我們根據(jù)配置文件創(chuàng)建及組裝對象之間的依賴關系。

二、當我們要進行一些日志記錄、權限控制、性能統(tǒng)計等時,在傳統(tǒng)應用程序當中我們可能在需要的對象或方法中進行,而且比如權限控制、性能統(tǒng)計大部分是重復的,這樣代碼中就存在大量重復代碼,即使有人說我把通用部分提取出來,那必然存在調(diào)用還是存在重復,像性能統(tǒng)計我們可能只是在必要時才進行,在診斷完畢后要刪除這些代碼;還有日志記錄,比如記錄一些方法訪問日志、數(shù)據(jù)訪問日志等等,這些都會滲透到各個要訪問方法中;還有權限控制,必須在方法執(zhí)行開始進行審核,想想這些是多么可怕而且是多么無聊的工作。如果采用Spring,這些日志記錄、權限控制、性能統(tǒng)計從業(yè)務邏輯中分離出來,通過Spring支持的面向切面編程,在需要這些功能的地方動態(tài)添加這些功能,無需滲透到各個需要的方法或對象中;有人可能說了,我們可以使用“代理設計模式”或“包裝器設計模式”,你可以使用這些,但還是需要通過編程方式來創(chuàng)建代理對象,還是要耦合這些代理對象,而采用Spring

面向切面編程能提供一種更好的方式來完成上述功能,一般通過配置方式,而且不需要在現(xiàn)有代碼中添加任何額外代碼,現(xiàn)有代碼專注業(yè)務邏輯。所以,Spring

面向切面編程能幫助我們無耦合的實現(xiàn)日志記錄,性能統(tǒng)計,安全控制。

三、在傳統(tǒng)應用程序當中,我們?nèi)绾蝸硗瓿蓴?shù)據(jù)庫事務管理?需要一系列“獲取連接,執(zhí)行SQL,提交或回滾事務,關閉連接”,而且還要保證在最后一定要關閉連接,多么可怕的事情,而且也很無聊;如果采用Spring,我們只需獲取連接,執(zhí)行SQL,其他的都交給Spring來管理了,簡單吧。所以,Spring能非常簡單的幫我們管理數(shù)據(jù)庫事務。

四、Spring還提供了與第三方數(shù)據(jù)訪問框架(如Hibernate、JPA)無縫集成,而且自己也提供了一套JDBC訪問模板,來方便數(shù)據(jù)庫訪問。

五、Spring還提供與第三方Web(如Struts、JSF)框架無縫集成,而且自己也提供了一套Spring MVC框架,來方便web層搭建。

六、Spring能方便的與Java EE(如Java Mail、任務調(diào)度)整合,與更多技術整合(比如緩存框架)。

Spring能幫我們做這么多事情,提供這么多功能和與那么多主流技術整合,而且是幫我們做了開發(fā)中比較頭疼和困難的事情,那可能有人會問,難道只有Spring這一個框架,沒有其他選擇?當然有,比如EJB需要依賴應用服務器、開發(fā)效率低、在開發(fā)中小型項目是宰雞拿牛刀,雖然發(fā)展到現(xiàn)在EJB比較好用了,但還是比較笨重還需要依賴應用服務器等。那為何需要使用Spring,而不是其他框架呢?讓我們接著往下看。

1.1.3 為何需要Spring

一 首先闡述幾個概念

1、應用程序:是能完成我們所需要功能的成品,比如購物網(wǎng)站、OA系統(tǒng)。

2、框架:是能完成一定功能的半成品,比如我們可以使用框架進行購物網(wǎng)站開發(fā);框架做一部分功能,我們自己做一部分功能,這樣應用程序就創(chuàng)建出來了。而且框架規(guī)定了你在開發(fā)應用程序時的整體架構,提供了一些基礎功能,還規(guī)定了類和對象的如何創(chuàng)建、如何協(xié)作等,從而簡化我們開發(fā),讓我們專注于業(yè)務邏輯開發(fā)。

3、非侵入式設計:從框架角度可以這樣理解,無需繼承框架提供的類,這種設計就可以看作是非侵入式設計,如果繼承了這些框架類,就是侵入設計,如果以后想更換框架之前寫過的代碼幾乎無法重用,如果非侵入式設計則之前寫過的代碼仍然可以繼續(xù)使用。

4、輕量級及重量級:輕量級是相對于重量級而言的,輕量級一般就是非入侵性的、所依賴的東西非常少、資源占用非常少、部署簡單等等,其實就是比較容易使用,而重量級正好相反。

5、POJO:POJO(Plain Old Java

Objects)簡單的Java對象,它可以包含業(yè)務邏輯或持久化邏輯,但不擔當任何特殊角色且不繼承或不實現(xiàn)任何其它Java框架的類或接口。

6、容器:在日常生活中容器就是一種盛放東西的器具,從程序設計角度看就是裝對象的的對象,因為存在放入、拿出等操作,所以容器還要管理對象的生命周期。

7、控制反轉:即Inversion of Control,縮寫為IoC,控制反轉還有一個名字叫做依賴注入(Dependency

Injection),就是由容器控制程序之間的關系,而非傳統(tǒng)實現(xiàn)中,由程序代碼直接操控。

8、Bean:一般指容器管理對象,在Spring中指Spring IoC容器管理對象。

為什么需要Spring及Spring的優(yōu)點

非常輕量級的容器:以集中的、自動化的方式進行應用程序對象創(chuàng)建和裝配,負責對象創(chuàng)建和裝配,管理對象生命周期,能組合成復雜的應用程序。Spring容器是非侵入式的(不需要依賴任何Spring特定類),而且完全采用POJOs進行開發(fā),使應用程序更容易測試、更容易管理。而且核心JAR包非常小,Spring3.0.5不到1M,而且不需要依賴任何應用服務器,可以部署在任何環(huán)境(Java

SE或Java EE)。

● AOP:AOP是Aspect Oriented

Programming的縮寫,意思是面向切面編程,提供從另一個角度來考慮程序結構以完善面向對象編程(相對于OOP),即可以通過在編譯期間、裝載期間或運行期間實現(xiàn)在不修改源代碼的情況下給程序動態(tài)添加功能的一種技術。通俗點說就是把可重用的功能提取出來,然后將這些通用功能在合適的時候織入到應用程序中;比如安全,日記記錄,這些都是通用的功能,我們可以把它們提取出來,然后在程序執(zhí)行的合適地方織入這些代碼并執(zhí)行它們,從而完成需要的功能并復用了這些功能。

簡單的數(shù)據(jù)庫事務管理:在使用數(shù)據(jù)庫的應用程序當中,自己管理數(shù)據(jù)庫事務是一項很讓人頭疼的事,而且很容易出現(xiàn)錯誤,Spring支持可插入的事務管理支持,而且無需JEE環(huán)境支持,通過Spring管理事務可以把我們從事務管理中解放出來來專注業(yè)務邏輯。

JDBC抽象及ORM框架支持:Spring使JDBC更加容易使用;提供DAO(數(shù)據(jù)訪問對象)支持,非常方便集成第三方ORM框架,比如Hibernate等;并且完全支持Spring事務和使用Spring提供的一致的異常體系。

● 靈活的Web層支持:Spring本身提供一套非常強大的MVC框架,而且可以非常容易的與第三方MVC框架集成,比如Struts等。

● 簡化各種技術集成:提供對Java Mail、任務調(diào)度、JMX、JMS、JNDI、EJB、動態(tài)語言、遠程訪問、Web Service等的集成。

Spring能幫助我們簡化應用程序開發(fā),幫助我們創(chuàng)建和組裝對象,為我們管理事務,簡單的MVC框架,可以把Spring看作是一個超級粘合平臺,能把很多技術整合在一起,形成一個整體,使系統(tǒng)結構更優(yōu)良、性能更出眾,從而加速我們程序開發(fā),有如上優(yōu)點,我們沒有理由不考慮使用它。

1.1.4 如何學好Spring

要學好Spring,首先要明確Spring是個什么東西,能幫我們做些什么事情,知道了這些然后做個簡單的例子,這樣就基本知道怎么使用Spring了。Spring核心是IoC容器,所以一定要透徹理解什么是IoC容器,以及如何配置及使用容器,其他所有技術都是基于容器實現(xiàn)的;理解好IoC后,接下來是面向切面編程,首先還是明確概念,基本配置,最后是實現(xiàn)原理,接下來就是數(shù)據(jù)庫事務管理,其實Spring管理事務是通過面向切面編程實現(xiàn)的,所以基礎很重要,IoC容器和面向切面編程搞定后,其余都是基于這倆東西的實現(xiàn),學起來就更加輕松了。要學好Spring不能急,一定要把基礎打牢,基礎牢固了,這就是磨刀不誤砍柴工。

1.2 Spring基礎

1.2.1 Spring架構圖

圖 1-1 Spring架構圖

核心容器:包括Core、Beans、Context、EL模塊。

Core模塊:封裝了框架依賴的最底層部分,包括資源訪問、類型轉換及一些常用工具類。

Beans模塊:提供了框架的基礎部分,包括反轉控制和依賴注入。其中Bean

Factory是容器核心,本質是“工廠設計模式”的實現(xiàn),而且無需編程實現(xiàn)“單例設計模式”,單例完全由容器控制,而且提倡面向接口編程,而非面向實現(xiàn)編程;所有應用程序對象及對象間關系由框架管理,從而真正把你從程序邏輯中把維護對象之間的依賴關系提取出來,所有這些依賴關系都由BeanFactory來維護。

● Context模塊:以Core和Beans為基礎,集成Beans模塊功能并添加資源綁定、數(shù)據(jù)驗證、國際化、Java

EE支持、容器生命周期、事件傳播等;核心接口是ApplicationContext。

EL模塊:提供強大的表達式語言支持,支持訪問和修改屬性值,方法調(diào)用,支持訪問及修改數(shù)組、容器和索引器,命名變量,支持算數(shù)和邏輯運算,支持從Spring

容器獲取Bean,它也支持列表投影、選擇和一般的列表聚合等。

AOP、Aspects模塊:

● AOP模塊:Spring

AOP模塊提供了符合 AOP Alliance規(guī)范的面向方面的編程(aspect-oriented

programming)實現(xiàn),提供比如日志記錄、權限控制、性能統(tǒng)計等通用功能和業(yè)務邏輯分離的技術,并且能動態(tài)的把這些功能添加到需要的代碼中;這樣各專其職,降低業(yè)務邏輯和通用功能的耦合。

● Aspects模塊:提供了對AspectJ的集成,AspectJ提供了比Spring ASP更強大的功能。

數(shù)據(jù)訪問/集成模塊:該模塊包括了JDBC、ORM、OXM、JMS和事務管理。

事務模塊:該模塊用于Spring管理事務,只要是Spring管理對象都能得到Spring管理事務的好處,無需在代碼中進行事務控制了,而且支持編程和聲明性的事物管理。

JDBC模塊:提供了一個JBDC的樣例模板,使用這些模板能消除傳統(tǒng)冗長的JDBC編碼還有必須的事務控制,而且能享受到Spring管理事務的好處。

ORM模塊:提供與流行的“對象-關系”映射框架的無縫集成,包括Hibernate、JPA、Ibatiss等。而且可以使用Spring事務管理,無需額外控制事務。

OXM模塊:提供了一個對Object/XML映射實現(xiàn),將java對象映射成XML數(shù)據(jù),或者將XML數(shù)據(jù)映射成java對象,Object/XML映射實現(xiàn)包括JAXB、Castor、XMLBeans和XStream。

● JMS模塊:用于JMS(Java Messaging Service),提供一套

“消息生產(chǎn)者、消息消費者”模板用于更加簡單的使用JMS,JMS用于用于在兩個應用程序之間,或分布式系統(tǒng)中發(fā)送消息,進行異步通信。

Web/Remoting模塊:Web/Remoting模塊包含了Web、Web-Servlet、Web-Struts、Web-Porlet模塊。

● Web模塊:提供了基礎的web功能。例如多文件上傳、集成IoC容器、遠程過程訪問(RMI、Hessian、Burlap)以及Web

Service支持,并提供一個RestTemplate類來提供方便的Restful services訪問。

Web-Servlet模塊:提供了一個Spring MVC Web框架實現(xiàn)。Spring

MVC框架提供了基于注解的請求資源注入、更簡單的數(shù)據(jù)綁定、數(shù)據(jù)驗證等及一套非常易用的JSP標簽,完全無縫與Spring其他技術協(xié)作。

Web-Struts模塊:提供了與Struts無縫集成,Struts1.x 和Struts2.x都支持

Test模塊:

Spring支持Junit和TestNG測試框架,而且還額外提供了一些基于Spring的測試功能,比如在測試Web框架時,模擬Http請求的功能。

1.2.2 典型應用場景

Spring可以應用到許多場景,從最簡單的標準Java

SE程序到企業(yè)級應用程序都能使用Spring來構建。以下介紹幾個比較流行的應用場景:

● 典型Web應用程序應用場景:

圖1-2 web應用程序應用場景

在Web應用程序應用場景中,典型的三層架構:數(shù)據(jù)模型層實現(xiàn)域對象;數(shù)據(jù)訪問層實現(xiàn)數(shù)據(jù)訪問;邏輯層實現(xiàn)業(yè)務邏輯;web層提供頁面展示;所有這些層組件都由Spring進行管理,享受到Spring事務管理、AOP等好處,而且請求唯一入口就是DispachterServlet,它通過把請求映射為相應web層組件來實現(xiàn)相應請求功能。

● 遠程訪問應用場景:

Spring能非常方便的提供暴露RMI服務,遠程訪問服務如Hessian、Burlap等,實現(xiàn)非常簡單只需通過在Spring中配置相應的地址及需要暴露的服務即可輕松實現(xiàn),后邊會有介紹;

● EJB應用場景:

Spring也可以與EJB輕松集成,后邊會詳細介紹。

Go語言HTTPServer開發(fā)的六種實現(xiàn)

學完了 net/http 和 fasthttp 兩個HTTP協(xié)議接口的客戶端實現(xiàn),接下來就要開始Server的開發(fā),不學不知道一學嚇一跳,居然這兩個庫還支持Server的開發(fā),太方便了。

相比于Java的HTTPServer開發(fā)基本上都是使用Spring或者Springboot框架,總是要配置各種配置類,各種 handle 對象。Golang的Server開發(fā)顯得非常簡單,就是因為特別簡單,或者說沒有形成特別統(tǒng)一的規(guī)范或者框架,我發(fā)現(xiàn)了很多實現(xiàn)方式,HTTP協(xié)議基于還是 net/http 和 fasthttp ,但是 handle 語法就多種多樣了。

先復習一下: Golang語言HTTP客戶端實踐 、 Golang fasthttp實踐 。

在Golang語言方面,實現(xiàn)某個功能的庫可能會比較多,有機會還是要多跟同行交流,指不定就發(fā)現(xiàn)了更好用的庫。下面我分享我學到的六種Server開發(fā)的實現(xiàn)Demo。

基于 net/http 實現(xiàn),這是一種比較基礎的,對于接口和 handle 映射關系處理并不優(yōu)雅,不推薦使用。

第二種也是基于 net/http ,這種編寫語法可以很好地解決第一種的問題,handle和path有了類似配置的語法,可讀性提高了很多。

第三個基于 net/http 和 github.com/labstack/echo ,后者主要提供了 Echo 對象用來處理各類配置包括接口和handle映射,功能很豐富,可讀性最佳。

第四種依然基于 net/http 實現(xiàn),引入了 github.com/gin-gonic/gin 的路由,看起來接口和 handle 映射關系比較明晰了。

第五種基于 fasthttp 開發(fā),使用都是 fasthttp 提供的API,可讀性尚可,handle配置倒是更像Java了。

第六種依然基于 fasthttp ,用到了 github.com/buaazp/fasthttprouter ,有點奇怪兩個居然不在一個GitHub倉庫里。使用語法跟第三種方式有點類似,比較有條理,有利于閱讀。

Go微服務--常見的微服務框架

近幾年誕生了很多微服務框架,比如JAVA的Spring Cloud、Dubbo;Golang的GoKit和GoMicro以及NodeJs的Seneca。幾乎每種主流語言都有其對應的微服務框架。

Go在微服務框架中有其獨特的優(yōu)勢,至于優(yōu)勢在哪,自行google。

1、GoKit框架

這是一個工具包的集合,可以幫助攻城獅構建強大、可靠和可維護的微服務。提供了用于實現(xiàn)系統(tǒng)監(jiān)控和彈性模式組件的庫,例如日志、跟蹤、限流、熔斷等。

基于這個框架的應用程序架構由三個主要的部分組成:

傳輸層:用于網(wǎng)絡通信,服務通常使用HTTP或者gRPC等網(wǎng)絡傳輸協(xié)議,或者使用NATS等發(fā)布訂閱系統(tǒng)相互通信。

接口層:是服務器和客戶端的基本構建塊。每個對外提供的接口方法都會定義為一個Endpoint,一遍在服務器和客戶端之間進行網(wǎng)絡通信,每個端點使用傳輸層通過HTTP或gRPC等具體通信模式對外提供服務

服務成:具體的業(yè)務邏輯實現(xiàn)

2、GoMicro框架

這是一個基于Go語言實現(xiàn)的插件化RPC微服務框架。提供了服務發(fā)現(xiàn)、負載均衡、同步傳輸、異步通信以及事件驅動等機制,嘗試簡化分布式系統(tǒng)之間的通信,讓開發(fā)者更專注于自身業(yè)務邏輯的開發(fā)。

GoMicro的設計哲學是可插拔的架構理念,提供了可快速構建系統(tǒng)的組件,并且可以根據(jù)自身的需求對GoMicro提供的默認實現(xiàn)進行定制。所有插件都可在倉庫github.com/micro/go-plugins 中找到。

當前標題:go語言中的spring,go語言中的指針
文章起源:http://jinyejixie.com/article30/hsidpo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、響應式網(wǎng)站、外貿(mào)網(wǎng)站建設、全網(wǎng)營銷推廣、關鍵詞優(yōu)化、網(wǎng)站設計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作
佛坪县| 光泽县| 喀喇沁旗| 嵩明县| 社旗县| 白玉县| 镇坪县| 类乌齐县| 岳池县| 铜梁县| 双牌县| 原阳县| 建湖县| 广灵县| 丰顺县| 香港 | 郁南县| 贵溪市| 综艺| 平果县| 时尚| 佳木斯市| 临夏市| 教育| 海盐县| 宁强县| 肥乡县| 资中县| 六盘水市| 和林格尔县| 金塔县| 柏乡县| 绥芬河市| 韶山市| 邛崃市| 惠东县| 莒南县| 怀柔区| 香格里拉县| 合山市| 厦门市|