版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、想必用過Spring的程序員們都仃這樣的感覺.Spring把邏供層裝的人完關(guān)(個(gè)人感覺View層対裝的不是 很好)。以至JW的初學(xué)者都不知道Spring配置文件的總思,就您來用了。所以今大我給人家詳細(xì)解釋一下 Spring的applicationcontext.xml文件.Ok.還足iffi過代碼加注釋的方式為人家演示:以下是詳解Spring的applicationcontext .xml文件代碼:<!一頭文件.主要注盤-下編碼->BEAN/EN-<?xml versionLl.O” encodingiUTFm?<!DOCTYPEbea nsPUBLIC"-/
2、SPRING/DTD"http:/www.spri ngfram /dtd/spri ng-beans.dtd"<beans><!-建立數(shù)據(jù)源><bea n id="dataSocirce" class=Morg.apache .comm on s.dbcp.BasicDataSourcew><!一數(shù)據(jù)庫(kù)驅(qū)動(dòng),我這里使用的是Mysql數(shù)據(jù)庫(kù) 一<property name="driverClassNamen>< value>com mysql.jdbc.Driv
3、er</value></property><!數(shù)撫那地址,這111也嬰注盤下編碼.不然亂碼可足很郁悶的哦! 一<property name=,urln>< value>jdbc:mysql:/1ocalhost:3306/tje?useUnicode=true &characteE ncoding=utf-8 </value></property><!-數(shù)據(jù)庫(kù)的用戶名一<property name=wusername"><value>root</value
4、></property><!-數(shù)據(jù)悴的密碼><property name="password">< value> 123</value></property></bea n><!-把數(shù)執(zhí);源注入給Session X廠<bean id="sessionFactory"class= "org.springfhamework.orm .hibernate3.LocalSessionFactoryBean"><property n
5、ame="datasource"><ref bean=HdataSource" /></property><!-朮迓映射文件-><property name= MmappingResourcesH><list>< value>com/alo nely/vo/User.hbm xml</value></list></property></bea n><!把 Sessi on IJhibernateTem plate ><!解
6、佯卜hibernateTem plate: hibernateTem plate握供了彳H #方便的方仏.在執(zhí)行時(shí)門動(dòng)建立HibernateCallback 對(duì)線.例如:load()、get(). save, delete。等方法. ><bean id= "hibernateTemplate"class= ''org.spring什am ework.orm hibernate3.HibernateTwmplate”< constructor arg><ref local="sessi onF actory'1
7、/></constructor-arg></bea n><!把 DAO 注入Session 工廠一><bean id=BuserDAO" class="com.alonely.dao.UserDAO"><property name=MsessionFactory"><ref bean=Msessi on Factory1* /></property></bea n>v!把 Service 注入給 DAO ><bean id=“useSe/i8
8、" class=ncom.alonely.service.UserService"><property name=MuserDAO"><ref local=BuserD AOW /></property></bean><! 把 Action 注入給 Service ><bean name=7userM class="com.alonely.struts.action,UseActiorf><property name="userServicew><r
9、ef bean=wuserServiceM /></property></bea</bea ns>采用struts +hibemate +spring開發(fā)的一個(gè)web系統(tǒng)一配置文件介紹從配世文件說起杏WEBINF/config下仃芬種配迓文件.這里作個(gè)介紹.對(duì)項(xiàng)1的開發(fā)很仃盤義主要涉及到了 struts( struts-config 文件夾下)、spring (app-config 文件夾下) 、struts 和 spring 的結(jié)合處理(action-serv lets-confg 文件夾 F >、棋版技術(shù)(tiles-config文件光卜) 、驗(yàn)證
10、技術(shù)(vaki3tionconfig丈件夾E)到這也或許會(huì)留總到?jīng)]冇提及hibernate,冇關(guān)hbernate的設(shè)也足通過spring來配宣的.在肩面的spring 文件山會(huì)看到.仃關(guān)hbemate.cfg.xni則仃丫" classpath匚 需要川到的hbernate屬性配迓信息 perties 也存放住 classpath 卜這些配就信息足帑個(gè)系統(tǒng)的鐵配總線.通過這些xml的配爲(wèi).把新勺的資源申仕丁這里還韭強(qiáng)調(diào)-個(gè)信息,這些配世文件都是按照功能楔塊來劃分的,比如現(xiàn)在講解的這個(gè)系統(tǒng)中,除了默認(rèn)的 default外.還劃分了 order (訂臥處理系統(tǒng))、a
11、dmh (后臺(tái)恃理系統(tǒng))這樣設(shè)迎的優(yōu)勢(shì)在于很好的擴(kuò)廉系統(tǒng). 降低耦合性.同時(shí)條理也比較淸晰.便于管理F ifil分別介紹一下各個(gè)主婆的配世文件內(nèi)容Im struts (struts-config 文件火下)struts-config 文件夾下 匸要冇 struts-confg-default.xmk struts-cxifig-admin.xmL struts-config-order.x ml 三個(gè) 配置文件這生放盤的足仃關(guān)struts的fklSf/i息.比如form-bean、action.仃關(guān)form-bean的配盤和般的struts &庁沒 冇什么兩樣.這嘰需要說明的足acti
12、on的配置這里舉例一個(gè)配赴片斯:<act bnname=nbg rFor mwpara meter="method”path=*/bg nAct bn"ty pe 一 "org. spr ngfrarreworlt. web struts De legat ngAct lonPr ox yMscope="requestnv a lidate="true"input=7WEBI NF/jsp/ bgin.jspM><forward name=,successnpath='/dispatch. do?def 二
13、default”/><forwardn ame=,lfaibre99path=" A/CB-I NF/jsp/log in. jsp91/></actlon>江怠屮.而的 type 屬件.這 Ml tt'ff 的足 org.sprhgfra me work. web.struts.DelegathgActionProxy 正足通過它來 使得和spmg很好的結(jié)合起來.這也你會(huì)發(fā)現(xiàn)沒有具體的actbn矢 它是通過struts和spring的結(jié)合處理(actbn-servlets-confg文件夾F)的配賞文件來實(shí)現(xiàn)的.這樣action類也納入到 sp
14、rhg容器的管理體系中去 T.struts和spring的結(jié)合就是這樣來實(shí)現(xiàn)的嚴(yán)然除了這種方式以外還右其他的町以參考:關(guān)于struts中validate 的兒種情況除了以上的配迎侑息外.還冇幾個(gè)匝耍的配盤它尼結(jié)介Sprhg. Tiles. Validator筲柜架的潤(rùn)滑劑主要足通 過Struts的pbg-in技術(shù)來實(shí)現(xiàn)的.舉例如下:<pbg-hc lassNa me="org. spr ngfra mewor k. web struts. Contex ttoaderPlucI n ">< set-propertyproperty =contex tCon
15、figLocaton"v a be=MAEB-I NF/conf ig /actio nsev lets-config/actio n-serv lets-(fefau It. x ml/VA任INF/conf ig/action«serv lets-config/actio nserv lets-order. x rrlA®-INF/config/actio n*serv lets-c on fig/actio n«serv lets-ad min.xmr/></pbg-h>通過Sprng桶架的ContextLoaderPbgln把a(bǔ)
16、ction類交由Spring容器來伶理這比需耍說明的點(diǎn)鹿 是否需struts-config-default.xml文件中尼加找所仃的acton-servlets (u息還 足對(duì)應(yīng)若分別加我.十然現(xiàn)在的系統(tǒng)中足一起加截的不過如果分開加戰(zhàn).也可以很好的分模塊開發(fā).這邊只足 探討.作個(gè)說明而已<pbg-nclassName=worg .apache.struts.tiles.TilesPlugirr<set-propertyproperty = "definitions-confjg-vabe=”/WEBT NF /config /t i les-configA iles -d
17、efs-defau It x rrT/>< set-propertyproperty=wmodu leA ware11value=wtrueR /></pbg-h>實(shí)現(xiàn)Tiles技術(shù)的嫁接<pbg-hclassNarre="org .apache.stnjts.validator.ValdatorPlug lrf>< set-propertyproperty = "pathnarres"vaUe="/WEB-INF/config/validation-conf ig/validator rulesYefau
18、ltxmL/WffiT NF/conf ig/v alidatbn-conf ig/v a I idation-defau It. x ml1'/><4DUg-h>6 Struts橋架中采用Vabdator柜架的驗(yàn)證機(jī)制2、sprhg (app-config 文件夾 F>app-confg 文件夾卜上耍令 appIcationContext_default.xml. appkationContext_admn.xmk applicationContextorder.xrri. appkationContextxml、dataAccessContext-locaI
19、.xmlI £ t ' F 所需要的業(yè)務(wù)邏輯bean.完成符介spr ng-beans, dtd的亢義規(guī)則分別解祥卜芻個(gè)配置文件的上耍用途:appbeationContext.xmH定義一些共通的bean.列舉如下:AbstractFaca deBean (co m ip Ian. porta I. fra me work, base. BaseFacade所彳 j Facade 的抽彖類主要完成対 DAO 的配置.以便為所仃FACADE提供DAO支持)Abstract Serv ice Bean < com p Ian. portal, fra mework.base
20、.BaseServ ice 一所仃 Servicelnp 的抽線類.匸要完成對(duì) DAO的配置.以便為所仃Servcel叩提供DAO支持)AppRelationCore (com pIan.portal.frameworl:.base.AppRelatbnCore-系統(tǒng)乞檢塊間關(guān)系的維護(hù)婁.既所仃模 塊嫌循的Facade通過此類來訪何.毎添加一個(gè)Facade模塊.需要在這也追加baseTransactonProxy (通用的"務(wù)代理.這樣所仃的Service、Facade邯町以繼承這個(gè)啪務(wù)代理)這里定義的都足空蘋礎(chǔ)設(shè)施可以看到都是framework.base下的類dataAccessC
21、ontex t-locaLx mb-宦義木地?cái)?shù)抑;源信息說明:為r系統(tǒng)運(yùn)作的簡(jiǎn)單化,這里設(shè)置r木地?cái)?shù)抑:源信息(以kxai為標(biāo)志)片然如果為分布式運(yùn)作采 用jta半務(wù)可以定義相應(yīng)的設(shè)置這里主耍定義了數(shù)據(jù)源 datasource> hbemate 的 SessionFactory (m/SessionFactory )、hbemate 的 M務(wù)舒 理器(rryTransactonManager > 共通的訪問數(shù)據(jù)用接11 commonDAO(com plan, porta I. fra rre work, base h bemate Co mmon DAO )以上兩個(gè)都尼系統(tǒng)運(yùn)作的亙
22、礎(chǔ).英間冇一叫聯(lián)系.人家可以參照一下幾休的血迓文件即可其它的三個(gè)配程文件晶圧按照功能棋塊來劃分的,都是具體業(yè)務(wù)方啲的信息.這里不任詳細(xì)描述,對(duì)以門行婁 舟配置文件3. struts 和 sprhg 的結(jié)介處理(actbn-servletsvonfig 文件夾 F)acton-servlets-confg 文件夾 baction-servlets-default.xrrk acton-servlets-admin.x mkaction-serv lets-order. x ml這里足action在sprhg容器下的配置.舉例如下:<beann arrB="/bginActio r
23、fclass="com plan.portal, start.actbn hog hActbnw><property narre="userServ ce"><ref bean="userServ cel npl"/></property ></bean>i19 name屬性TbghActbn和相應(yīng)的struts配置文什屮的path屬性Jf對(duì)W起來.這樣actbn類的T命周期將交山sprhg容器來管理了4. 模版技術(shù)(tiles-config文件夾F)5. 檢if技術(shù)(validation-
24、config 文件夾下)這沔項(xiàng)就不在多做閘述了.應(yīng)該應(yīng)用的比較藝了除f /VEB-INF/config卜的五人類配置文件外,對(duì)其他一些站嬰川到的配置信息作-個(gè)比較簡(jiǎn)W的介紹 hbemate. cfg. xml:設(shè)¥? pojo 信息.III 關(guān)的 SessbnFactory 配賢 C經(jīng)移植到 了 Spring 的 dataAccessContext-IocaI.x ml 配胃文件中 去了h bemate. properties設(shè)賢一吐冇關(guān) hbemate 的加件信息比如:driver, urk username, password diabct、Connect io nPool等等A
25、pplizationRpertesil8n國(guó)際化勿源信息dsplay tag. propertiesdisplay標(biāo)簽的配置信息default-db.scrpt. perties 認(rèn)的 hsqkib 的數(shù)撫結(jié)構(gòu)、數(shù)抑;bg4j properties I志配M文件址厲.還冇一個(gè)非常敢要的配迓信息:web.xml有關(guān)于各種信息的配置,web.xml里山|仃比較詳細(xì)的說明.這里就不在姜制述這里描述一下應(yīng)用服務(wù)器啟動(dòng)麻.如何加找這空配迓信息已供應(yīng)用系統(tǒng)運(yùn)作的第一步.肖然是讀取web.xml中的配置信息.可以啟動(dòng)Log4j信息通iiContextLoa
26、derListener. contextConfgLocaton fd息(spring <app-confg 文件夾 F).加投 sprhgapp-config文件夾下的配置信息HSQLDB數(shù)據(jù)懷丿;動(dòng)struts的ActbnServ let.相應(yīng)的conf©被加找第二步.從笫-步可以看到struts (struts-conflg文件夾卜J、sprhg (app-config文件夾下)都12經(jīng)被加載 那么struts和spring的結(jié)介處理(action-servlets-config文件夾弋)、模版技術(shù)(tiles-config文件夾下.驗(yàn) 證技術(shù)(validation-co
27、nfig文件夾E)如何被加桟呢?struts 和 sprng 的結(jié)介處理 <actlon-servlets-confg 文件光卜)迫過 struts (struts-confg 文件夾卜)卜的 struts-config-default.xml 加找模版技術(shù)(tiles-config文件夾下)、驗(yàn)證技術(shù)(validatiorvconfig文件夾下)分別通過struts(struts-confg文 件夾下)下的各個(gè)對(duì)應(yīng)的功能模塊配置文件加載通遼以上阿步加裁.把五個(gè)人的配置信息都加找到系統(tǒng)中去了以I足關(guān)系系統(tǒng)配氏文件的一陀說明.希里通過這些能對(duì)廉個(gè)系統(tǒng)的架構(gòu)冇一個(gè)比較淸晰的了解發(fā)表時(shí)間:20
28、07 -06-06 關(guān)鍵字:st ruts 2, hibernate, spring 和關(guān)文章: t 1 spri ngh i bernat e 的結(jié) f匕寸題 spring入門編程問題集錦 不整介 hibernate 和 spring,只想用 spring 的爭(zhēng)務(wù)處呢左文件推薦圈子:GT-Grid更多相關(guān)推薦圍雖然是簡(jiǎn)單的用八逢錄,但東西一點(diǎn)不少,基丁-MVC原理實(shí)現(xiàn),共分DA0層, SERVICE層,ACTION層和WEB層,其中DA0和SERVICE層都冇各H的接口。今天主耍講解配置文件的代碼,我學(xué)習(xí)實(shí)例,喜歡從控制層出發(fā),然后用到了哪 些類或者JSP,再一一扯“蛋”扯出來。當(dāng)然,還是先
29、看web. xmlxml代碼1. <?xml version=/rl. 0" encoding/UTF-8"?>2. <webapp xmlns=/rhttp:/java. sun. com/xml/ns/j2ee xmlns :xsi二"htt p:/www w3 org/2001/XMLSchema一instance" version二"2 4"3xsi:schemaLocation二"http:/java» sun. com/xml/ns/j2ee http:/java. sun. com/
30、xml/ns/j2ee/web-app_2_4. xsd">4. <! Spring ApplicationContext配置文件的路彳仝,可使用通配符,多個(gè)路徑用令1,號(hào)分隔,此參數(shù)用丁后面的Spring-Context loader >5. <cont ext -param>6. <oaram-name>contextConfigLocat i/param-name >7. <paramvalue>c 1 as spat h*: spring/* xml</paramvalue>8</cont ext
31、-param>9.10.11. <!著名 Character Encoding filter >12.12. filter-name>encodingFilter/filter-name>13. <filter-class>org springframework web filter. CharacterE ncodingFilter</f i11 erc1as s>14. <init-param>15. <param-name>encoding</param-name>16. <param-val
32、 ue>UTF-8</param-val ue>17. /in it - param18. </filter>19. <!Hibernate Open Session in View Filter>20. <filter>21. <fiIter-name>hibernateFilter/filter-name22. filter-class>org springframework orm. hibernate3 suppor t OpenSessionlnVie硬ilter/filter-class>23. <
33、/fi.lter>24. <! ExtremeTable 導(dǎo)出 Excel 和 Pdf 的 F訂ter >25. <f ilter>26. <filter-name>eXt remeExport </filt er-name>27. <filter-class>org extremecomponents. table filter Export FiIter</filter-class>28. </filter>29. f i 11 er-mapping>31<filter-name>e
34、ncodingFilter</filter-name>32. <url-pattern>水 do</ur 1 -pattern>33. /filtermapping34. f i11 ermapping>35. <filter-name>encodingFiIter</filter-name>36. url-pat tern>* j sp</ur 1 -pat t ern>37. </f i 11 er-mappi ng>38. <f i 11 er-mappi ng>39. <f
35、ilter-name>hibernateFilter</filter-name>40. <url-pat tern>* do</ur 1 -pat t ern>41</filter-mapping>42.43.44. <!Spring ApplicationContext 我入 一>45. <listener>46. < 1 i st ener-c 1 as s>org spr i ngf ramework web. context. Cont ext LoaderLi st ener</liste
36、ner-class>47. </listener>48.48. <! - Spring 刷新 I nt rospector 防止內(nèi)存泄露>49. <listener>50. listener-class>org springframework, web util Introspect orCleanupLi st ener</list ener-class>51. </listener>53.54.52. <! session超時(shí)定義,單位為分鐘->5 6.<session-config>57. &
37、lt;session-timeout>10</session-timeout58. /session-config>59.59. /web-app>61.東西很簡(jiǎn)單,無非是配置一些過濾器呀,監(jiān)聽器的。主要講一下 openSessionlnViewFiIter 吧,假設(shè)在你的應(yīng)用'P Hibernate 是通過 spring 來 管理它的session.如果在你的應(yīng)用中沒有使用OpenSessionlnViewFilter或者 OpenSessionlnViewInterceptoro session 會(huì)在 transaction 結(jié)束后關(guān)閉,此時(shí) 會(huì)拋出sess
38、ion is close的異常。關(guān)于這方面的知識(shí),值得大家去找一下相關(guān) 資料仔細(xì)閱讀。strut2. xmlxml代碼2."-/Apache Software Foundation/DTD Struts Configuratio n 2. 0/EN"3"ht tp:/strut s apache, org/dt ds/st rut s-2. 0 dtd">4. < st rut s >5. < i nc 1 ude file 二"st rut s - def a ult.x ml"/>6.7. <p
39、ackage name 二"default" extends 二"struts-default">8<act ion name二"login" method/login" class二"userAction">9<result>/login_success jspresult>10. <resuIt name="input">/login. jspresult>11. action12. package>13-14. stru
40、ts>可能注意到了,這里的Action交給SPRING來管理了。所以我們看一下 application, xml 的代碼吧xml代碼1. xml version二"1 0" encoding="UTF-8"?>2. >3.4beans>5 <bean id二"dataSource" class二"com. mchange. v2. c3p0 ComboPoole dDataSource" destroy-method二"close"6. <property n
41、ame二"driverClass" value二"oracle jdbc.driver OracleDriver"* />7. <property name=" jdbcUrl" value=/r jdbc :oracle :thin:local host:1521:oracleDB" />&8.<property name二"user" value二"xxx" /><property n
42、ame="password" valuexxx /><property name二"minPoolSize" value="3" /><propertyname二"maxPoolSize" value二"30" /><property name二"maxIdleTime" value二"1800" />< proper ty n amebae qu i re I nc rement value 二"
43、3" /><property name="maxStatements" value二"0" /><property nome="initialPoolSize value="3" />19.20.21.<property name="idleConnectionTestPeriod" value二"60" />22.23.<property name二"acquireRetTyAttempts" value二
44、"30" />24.<property name二"breakAfterAcquireFailure" value二"true"/>25.<property name="testConnectionOnCheckout" value二"false"/>26.bean>27.28.<bean id="sessionFactory"29.class二"org springframework orm hibernate3. Loc
45、alSessionFactoryBean>30.<property namedataSource/r>31.<ref bean二"dataSource" />32.proper!y>33.<propert y name二"hibernatePropert ies">34.<props>35.<prop key二"hibernate dialect">org hibernate. dialect 0racle9Dialectprop36.<prop key二&
46、quot;hibernate show_sql"trueprop37.<prop key二"hibernate generate_statistics">trueprop>38.<prop key二"hibernat e connect ion. release_mode"autoprop>39.<prop key/hibernate autoReconnect">trueprop>40.props>41.property>42.<property namemappin
47、gDirectoryLocations>43.<li st>44.<value>45.c1asspath:com/c ai t ong/pingou/bean46.value>47.list>48.proper!y>49.bean>50.51.<bean id二"transactionManager" class二"org springframework, orm. hibernate3 HibernateTransact ionManager52.<property name二"sess
48、ionFactory">53.<ref bean二"sessionFactory"/>54.property>55bean>56.53. <bean id二"transactioninterceptor" class="org springframewor k transact ion. interceptor. Transact ioninterceptor>54. <property nametransactionManager ref=/rtransactionMan ager"/>55. <property name二"transactionAttributes">56. <props>61.62.<prop key="add*">PROPAGATION_REQUIREDpgp>63.prop><prop key="find*">P
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年新修訂版快遞車輛短期租賃協(xié)議
- 2024年新型環(huán)保貨車租賃合同
- 2024年教育培訓(xùn)合同退款擔(dān)保
- 工行理財(cái)合同范例
- 農(nóng)業(yè)機(jī)械合同模板
- 代煎藥采購(gòu)合同模板
- 化肥供銷協(xié)議合同范例
- 廠區(qū)買賣合同模板
- 大理水窖采購(gòu)合同范例
- 合伙按揭購(gòu)車合同模板
- Unit 1 You and Me教學(xué)設(shè)計(jì)2024-2025學(xué)年人教版(2024)英語(yǔ)七年級(jí)上冊(cè)(安徽)
- 2024-2030年中國(guó)汽車鋁合金(OE)行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- 2024新教科版一年級(jí)科學(xué)上冊(cè)第二單元《我們自己》全部教案
- 初中文言文及古詩(shī)
- 網(wǎng)上書店設(shè)計(jì)說明書-(含結(jié)構(gòu)圖、流程圖和E-R圖)
- 麟北煤礦數(shù)據(jù)中心技術(shù)方案
- 六年級(jí)上冊(cè)英語(yǔ)試題- Module1 Family and friends單元測(cè)試 牛津上海版(含答案及解析)
- 選擇性必修二《Unit 3 Food and Culture》單元教學(xué)設(shè)計(jì)
- 農(nóng)產(chǎn)品市場(chǎng)營(yíng)銷智慧樹知到期末考試答案章節(jié)答案2024年?yáng)|北農(nóng)業(yè)大學(xué)
- 人工智能的好處和壞處
- 安全隱患規(guī)范依據(jù)查詢手冊(cè)22大類12萬字
評(píng)論
0/150
提交評(píng)論