




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
《電商Web平臺開發(fā)》課程教案教學模塊項目一搭建電商平臺Spring業(yè)務層課時數(shù)10教學班級主講教師教學目的和要求知識目標1.了解Spring結構體系;2.理解Spring與IoC的概念和思想;3.認識SpringAOP(面像切面編程)。能力目標1.能夠熟練使用Spring配置文件進行配置;2.能夠熟練使用BeanFactory等方法實現(xiàn)Bean的裝配;3.能夠熟練使用基于XML方式的DI;4.能夠熟練使用基于注解的DI;5.能夠熟練使用自動代理;6.能夠熟練實現(xiàn)Spring-Aop的切面;7.能夠熟練使用Spirng-AspectJ配置事務管理。素養(yǎng)目標1.培養(yǎng)學生的主動性、執(zhí)行力;2.鍛煉學生工作中膽大心細;3.鍛煉學生邏輯思維能力;4.培養(yǎng)學生有探索創(chuàng)新精神。教學手法1.在任務一中,以講述法和提問法為主,讓學生充分理解Spring概念、作用、特性的相關知識點。2.在任務二中,以實踐法為主,讓學生自己搭建java開發(fā)環(huán)境,并下載Spring核心包,然后新建項目導入需要的jar包,在實踐的過程中發(fā)現(xiàn)問題,解決問題,使其能夠將所學知識融會貫通,掌握關知識點和概念。3.在任務三中,以討論法為主,讓學生先對知識點和概念進行學習和理解,然后讓學生之間互相進行討論,在討論中領會知識點和相關概念。4.教師應以學生為主體,充分發(fā)揮學生的自主能動性。同時教師也可以利用多媒體教學方式及網(wǎng)絡課程資源,使課堂教學活動更加生動,讓學生能夠積極參與其中。教學重難點重點:1.Spring額的概念、作用和特性;2.控制反轉和依賴注入的概念;3.AOP的概念和AOP的編程術語。難點:1.如何在JAV項目中使用Spring框架;2.如何進行Spring的IoC和依賴注入;3.如何實現(xiàn)Spring的AOP模式。教學要點設計1.通過講解Spring的概念、作用、特性,讓學生理解和掌握如何在Java中使用Spring框架。(90分鐘)2.通過講解控制反轉和依賴注入的概念,幫助學生理解和掌握如何進行Spring的IoC和依賴注入;(270分鐘)3.通過對AOP和AOP編程術語的介紹,讓學生能夠自己動手實現(xiàn)Spring的AOP模式。(90分鐘)教學過程任務一認識Spring的概念、作用、特性【預備知識】一、Spring框架介紹Spring框架是一個輕量級的Java開發(fā)框架,是為了解決企業(yè)應用開發(fā)的復雜性而誕生的,它簡化了Java應用開發(fā),提高了開發(fā)的可測試性和可重用性。簡單來說,Spring是一個輕量級的控制反轉(IoC)、依賴注入(DI)和面向切面(AOP)的容器框架。其特點如下:1.控制反轉(InversionofControl,縮寫為IoC)2.依賴注入(DependencyInjection,縮寫為DI)3.面向切面編程(AspectOrientedProgramming,縮寫為AOP)4.事務,它必須具有四大特征:(1)原子性(atomicity)(2)一致性(consistency)(3)隔離性(isolation)(4)持久性(durability)二、Spring概念Spring的主要作用就是為代碼“解耦”,降低代碼間的耦合度,提高靈活性。Spring根據(jù)代碼的功能特點,將降低耦合度的方式分為IoC與AOP兩類。Spring框架是由20多個模塊組成,包括數(shù)據(jù)訪問/集成(DataAccess/Integration)、Web與遠程調用、面向切面編程(AOP,Aspects)、應用服務器設備管理(Instrumentation)、消息發(fā)送(Messaging)、核心容器(CoreContainer)和測試(Test)等,其核心體系如圖所示。【任務實施與分析】一、在Java項目中使用Spring框架的步驟步驟1:jdk的安裝和環(huán)境變量的配置將jdk解壓或者安裝到指定的目錄,右鍵“我的電腦->屬性->高級->環(huán)境變量->系統(tǒng)變量->添加環(huán)境變量”,選擇名字為“JAVA_HOME”、變量的值為jdk的安裝目錄,修改變量Path,在最前面加上“%JAVA_HOME%bin;”。注意:(1)添加和修改的是下面的系統(tǒng)變量,并非上面的用戶變量;(2)“Path”是首字母大寫,不能改成“PATH”,bin后面要有分號“;”;(3)用戶變量中不要有其他“JAVA_HOME”和“Path”,以避免被干擾。步驟2.Spring的相關核心包;步驟2.1下載Spring的相關的核心包進入Spring官網(wǎng):“http://spring.io”,選擇核心包下載鏈接“https://repo.spring.io/libs-release-local/org/springframework/spring/”步驟2.2Spring框架結構及jar包雙擊打開壓縮包之后,會看到有3個文件夾和3個TXT文件【思政小課堂】在我們的生活中,有很多的人都會使用盜版軟件,使用盜版軟件對正版公司的權力受到了侵害,那么使用盜版的軟件侵害的是對方的著作權嗎?從法律的角度來看,如果是使用盜版軟件的話一般屬于侵權,但是情節(jié)比較輕微。從目前的市場上的大眾行為來看,常見的盜版行為主要有生產(chǎn)商仿制軟件光盤、銷售商在所售計算機中預裝軟件、互聯(lián)網(wǎng)在線軟件盜版、用戶未經(jīng)著作權人授權使用軟件、將只讀光盤中的軟件進行復制并銷售等。如果已經(jīng)使用了盜版的軟件,這個時候侵害的就是對方的著作權,也是知識產(chǎn)權,但是使用軟件只是侵權行為非常輕微的情況,一般不需要承擔比較嚴重的法律責任?!就卣怪R】一、Spring中jar包的作用1.spring-core.jar:包含spring框架基本的核心工具類,spring其他組件都要使用到這個包里的類,是其他組件的基本核心;2.spring-beans.jar:包含訪問配置文件、創(chuàng)建和管理Bean以及進行IoC/DI操作相關的所有類,所有應用都需要使用;3.spring-aop.jar:包含在應用中使用Spring的AOP特性時所需的類。使用基于AOP的Spring特性,如聲明型事務管理等;4.spring-context.jar:為Spring核心提供了大量擴展;5.spring-jdbc.jar:包含對Spring對JDBC數(shù)據(jù)訪問進行封裝的所有類;6.SpringAspects:提供的對AspectJ框架的整合;7.Springexpression:Spring表達式語言;8.SpringInstrument:Spring對服務器的代理接口;9.spring-instrument-tomcat:Spring對tomcat連接池的集成;10.SpringJMS:為簡化Jmsapi的使用做的簡單封裝;11.Springorm:封裝第三方orm實現(xiàn),如Hibernate、iBatis等;12.Springoxm:Spring對于Object/XML映射的支持,可以讓JAVA與XML之間來回切換;13.Springtest:對JUnit等測試框架的簡單封裝;14.Springtx:為JDBC、Hibernate、JDO、JPA等提供的一致的聲明式和編程式事務管理;15.Springweb:包含Web應用開發(fā)時,用到Spring框架時所需的核心類,包括自動載入WebApplicationContext特性的類、Struts與JSF集成類、文件上傳的支持類、Filter類和大量工具輔助類;16.Springwebmvc:包含SpringMVC框架相關的所有類。如果使用了獨立的MVC框架,則無需JAR文件里的任何類。二、Spring中的設計模式1.工廠模式;2.單例設計模式;3.代理模式4.模板方法模式;5.觀察者模式;6.適配器模式;7.裝飾器模式;任務二Spring的IoC和依賴注入【預備知識】一、控制反轉和依賴注入的概念控制權的轉移就是所謂的反轉,指依賴對象的控制權從應用程序本身轉移到外部容器,其實現(xiàn)策略一般有依賴查找和依賴注入兩種。(一)依賴查找(DependencyLookup,DL)它是JavaEE中傳統(tǒng)的依賴管理方式,首先需要注冊依賴或服務,然后再通過容器提供的API查找依賴對象和資源。這種策略是中央管控的方式,通過依賴拖拽、上下文依賴查找兩種方式實現(xiàn)。(二)依賴注入(DependencyInjection,DI)依賴對象通過注入的方式進行創(chuàng)建,由容器負責組建和注入,即程序在運行時,若需要調用另一個對象進行協(xié)助時,不用重新創(chuàng)建被調用者代碼,直接依賴外部容器創(chuàng)建后傳遞給程序,這是更為流行的IoC實現(xiàn)策略。依賴注入常見的方式有屬性注入和構造器注入兩種。依賴注入是目前最優(yōu)秀的解耦方式。它讓Spring的Bean之間以配置文件的方式組織在一起,而不是以硬編碼的方式耦合在一起的。【任務實施與分析】一、Spring的IoC和依賴注入步驟1.導入核心jar包步驟1.1:創(chuàng)建javaproject;步驟1.2:導入核心jar包;步驟1.3:導入日志相關的jar包。步驟2.定義接口與實體類步驟2.1:新建com.freamwork.service包,在com.freamwork.service包下定義ISomeService接口;步驟2.2:創(chuàng)建SomeServiceImpl實現(xiàn)類實現(xiàn)ISomeService接口。步驟3.創(chuàng)建Spring配置文件步驟3.1:創(chuàng)建Spring配置文件;步驟3.2:在applicationContext.xml配置文件中注冊Service。步驟4.定義測試類步驟4.1:定義測試類;步驟4.2:查看ApplicationContext與BeanFactory接口容器并掌握他們的區(qū)別。步驟5.掌握bean的默認裝配方式步驟5.1:創(chuàng)建ISomeService接口的doSome方法;步驟5.2:創(chuàng)建SomeServiceImpl實現(xiàn)類實現(xiàn)ISomeService接口;步驟5.3:配置注冊Service;步驟5.4:編寫測試類。步驟6.動態(tài)工廠Bean步驟6.1:將動態(tài)工廠Bean作為普通Bean使用;步驟6.2:使用Spring的動態(tài)工廠Bean。步驟7.靜態(tài)工廠Bean步驟7.1:創(chuàng)建靜態(tài)方法getSomeService();步驟7.2:注冊靜態(tài)工廠;步驟7.3:運行測試類。步驟8.容器中bean的作用域步驟8.1:注冊Service單例模式;步驟8.2:編寫測試類并運行。步驟9.bean后處理器步驟9.1:創(chuàng)建ISomeService接口;步驟9.2:創(chuàng)建SomeServiceImpl實現(xiàn)類實現(xiàn)ISomeService接口;步驟9.3:創(chuàng)建MyBeanPostProcessor類實現(xiàn)BeanPostProcessor;步驟9.4:實現(xiàn)執(zhí)行目標方法;步驟9.5:配置注冊Bean后處理器;步驟9.6:編寫測試類測試。步驟10.了解并定制bean的生命始末首先,這些方法需要在Bean類中事先定義好,使用publicvoid方法;其次,在配置文件的<bean/>標簽中增加如下屬性;最后,編寫測試類進行測試。步驟11.bean的生命周期步驟11.1:注冊Service,為adao和bdao注入值aaa,bbb;步驟11.2:SomeServiceImpl的實現(xiàn)。步驟12.注入分類(1)設值注入;(2)構造注入。步驟13.對于域屬性自動注入對于域屬性的注入,也可不在配置文件中顯示的注入??梢酝ㄟ^為<bean/>標簽設置autowire屬性值,為域屬性進行隱式自動注入。根據(jù)自動注入判斷標準的不同,可以分為兩種:(1)byName:根據(jù)名稱自動注入;(2)byType:根據(jù)類型自動注入。步驟14.使用SpEL注入SpEL(SpringExpressionLanguage)即SpringEL表達式語言。在Spring配置文件中為Bean的屬性注入值時,可直接使用SPEL表達式計算的結果。SpEL表達式以“#”開頭,后跟一對大括號。用法:<beanid=“abc”value=“#{…}”/>。步驟15.使用同類抽象Bean注入抽象Bean是用于讓其它bean進行繼承的,這個bean在Bean類中是不能通過getBean方法獲取。設置abstract屬性為true來指明該bean為抽象bean,默認值為false;如果該bean不為抽象bean時,也可被繼承,但是在應用中,用于被繼承的bean一般為抽象bean。步驟16.使用異類抽象Bean注入步驟17.為應用指定多個Spring配置文件在實際應用中,隨著應用規(guī)模的增加,系統(tǒng)中Bean數(shù)量也不斷增加,導致配置文件變得非常龐大、臃腫。為了避免這種情況的產(chǎn)生,提高配置文件的可讀性與可維護性,可以將Spring配置文件分解成多個配置文件。(1)平等關系的配置文件(2)包含關系的配置文件步驟18.定義Bean@Component注解步驟18.1:由于注解的后臺實現(xiàn)用到了AOP變成,因此這里需要導入AOP的Jar包;步驟18.2:更換配置文件頭,即添加相應的約束,約束在“%SPRING_HOME%\docs\spring-framework-reference\html\xsd-configuration.html”文件中;步驟18.3:在Spring配置文件中配置組件掃描器,用于在指定的基本包中掃描注解;步驟18.4:在類上使用注解@Component,該注解的value屬性用于指定該bean的id值。步驟19.Bean的作用域@Scope要在類上使用注解@Scope,其value屬性用于指定作用域,默認為singleton。步驟20.基本類型屬性注入@Value步驟21.按類型注入域屬性@Autowired;步驟22.按名稱注入域屬性@Autowired與@Qualifier;步驟23.域屬性注解@ResourceSpring提供了對JSR-250規(guī)范中定義@Resource標準注解的支持。@Resource注解既可以按名稱匹配Bean,也可以按類型匹配Bean。使用該注解,要求JDK必須是JDK6及以上版本。(1)按類型注入域屬性@Resource注解指定其type屬性,則會按照類型進行Bean的匹配注入(2)按名稱注入域屬性@Resource注解指定其name屬性,則name的值即為按照名稱進行匹配的Bean的ID?!就卣怪R】一、實例化Bean的三種方式1.默認無參構造函數(shù);2.靜態(tài)工廠模式;3.動態(tài)工廠模式。二、IoC和DI常用的幾個注解1.IoC注解@Component:屬性有value,指定bean的id,如果不指定value屬性,默認bean的id是當前類的類名,首字母小寫。@Controller:一般用于表現(xiàn)層;@Service:用于業(yè)務層;@Repository:用于持久層。2.DI注解@Autowired(默認按類型裝配)相當于<propertyname=""ref="">。@Resource(默認按名稱裝配)相當于<propertyname=""value="">。三、Spring擴展接口1.BeanPostProcessor接口;2.BeanFactoryPostProcessor接口;3.InitializingBean接口;4.FactoryBean接口。任務三Spring的AOP實現(xiàn)模式【預備知識】一、AOP簡介AOP(AspectOrientProgramming,面向切面編程),是OOP(ObjectOrientedProgramming,面向對象編程)的一種補充。AOP是在不斷修改源代碼的前提下添加功能的一種編程思想,旨在降低系統(tǒng)業(yè)務之間的耦合性,提高代碼的重用性和開發(fā)效率。AOP的編程思想可以應用在業(yè)務邏輯之外的功能增強上,也可以應用在業(yè)務本身上,其適合的應用場景有很多,包括:(1)日志記錄:開發(fā)人員不需要在邏輯代碼中混雜日志代碼,可以在項目后期織入日志功能,包括系統(tǒng)登錄人日志、服務及方法調用日志等;(2)安全控制:對系統(tǒng)的訪問進行登錄校驗,對請求進行權限驗證;(3)參數(shù)校驗:對請求參數(shù)進行統(tǒng)一的轉化或驗證;(4)事務處理:統(tǒng)一處理數(shù)據(jù)庫事務的提交和回滾,如在方法執(zhí)行完成后自動提交事務,出現(xiàn)異常時自動回滾;(5)統(tǒng)一異常處理:使用AOP集中處理異常,不需要在每一個方法中使用trycatch對異常進行捕捉;(6)緩存:使用AOP實現(xiàn)緩存存取和清除;(7)統(tǒng)一發(fā)信、聽通知,對某些方法執(zhí)行或者異常攔截并發(fā)送通知。二、AOP編程術語1.切面;2.織入;3.連接點;4.切入點;5.目標對象;6.通知;7.顧問。三、了解AspectJAspectJ是Eclipse基金會的項目,是一個面向切面的框架。它擴展了Java語言,也是對AOP編程思想的一個實踐。AspectJ支持編譯期靜態(tài)織入和運行期動態(tài)織入,不同階段的實現(xiàn)方式如下:編譯時:使用ajc編譯器替代javac編譯器,在源文件編譯成.class文件時織入增強代碼;編譯后:利用ajc編譯器向.class文件和.jar文件中織入增強代碼;加載時:利用aspectjweaver.jar,使用動態(tài)dialing的方式在類加載期間織入切面。四、了解Spring事務管理的接口1.事務管理器:是PlatformTransactionManager接口對象,其主要功能是實現(xiàn)完成事務的提交、回滾及獲取事務的狀態(tài)信息。2.事務定義接口:TransactionDefinition中定義了事務描述相關的三類常量:事務隔離級別、事務傳播行為、事務默認超時時限?!救蝿諏嵤┡c分析】一、Spring的AOP實現(xiàn)模式搭建:步驟1.AOP開發(fā)環(huán)境搭建步驟1.1:導入jar包;步驟1.2:使用原Beans的約束。步驟2.掌握通知advice步驟2.1:學習前置通知MethodBeforeAdvice;步驟2.2:學習后置通知AfterReturningAdvice;步驟2.3:環(huán)繞通知MethodInterceptor;步驟2.4
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廠房 設備維修合同范例
- 南沙電梯辦證合同范本
- 出租電動鏟車合同范例
- 廠地臨時保安合同范本
- 化肥購貨合同范本
- 出口設計技術合同范本
- 勞動合同范本和勞改合同
- 個人房屋轉租合同范本
- 買賣英文合同范本
- 賣豬肉合伙合同范本
- 無形資產(chǎn)評估完整版課件
- 一體化學工服務平臺、人事管理系統(tǒng)、科研管理系統(tǒng)建設方案
- 市場營銷學課后習題與答案
- 常暗之廂(7規(guī)則-簡體修正)
- 10kV變電所設備檢修內容與周期表
- 制冷系統(tǒng)方案的設計pptx課件
- 修心七要原文
- 中國TBHQ行業(yè)市場調研報告
- 1資產(chǎn)負債表變動情況的分析評價
- 井控系統(tǒng)操作維護與保養(yǎng)規(guī)程
- 教務處巡課記錄表
評論
0/150
提交評論