Java EE企業(yè)級(jí)應(yīng)用開(kāi)發(fā)教程課件 第1章 初識(shí)Spring框架_第1頁(yè)
Java EE企業(yè)級(jí)應(yīng)用開(kāi)發(fā)教程課件 第1章 初識(shí)Spring框架_第2頁(yè)
Java EE企業(yè)級(jí)應(yīng)用開(kāi)發(fā)教程課件 第1章 初識(shí)Spring框架_第3頁(yè)
Java EE企業(yè)級(jí)應(yīng)用開(kāi)發(fā)教程課件 第1章 初識(shí)Spring框架_第4頁(yè)
Java EE企業(yè)級(jí)應(yīng)用開(kāi)發(fā)教程課件 第1章 初識(shí)Spring框架_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第1章初識(shí)Spring框架《JavaEE企業(yè)級(jí)應(yīng)用開(kāi)發(fā)教程(Spring+SpringMVC+MyBatis)》學(xué)習(xí)目標(biāo)/Target了解框架的相關(guān)概念了解Spring框架的概念,能夠簡(jiǎn)述Spring框架的優(yōu)點(diǎn)熟悉Spring框架的體系結(jié)構(gòu)和核心概念,能夠簡(jiǎn)述Spring框架的體系結(jié)構(gòu)中各模塊的作用掌握Spring入門(mén)程序,能夠在項(xiàng)目中通過(guò)Spring框架實(shí)現(xiàn)控制反轉(zhuǎn)章節(jié)概述/Summary在現(xiàn)代的軟件開(kāi)發(fā)領(lǐng)域中,構(gòu)建健壯、高效地應(yīng)用程序是每個(gè)開(kāi)發(fā)者的追求。然而,隨著項(xiàng)目規(guī)模的擴(kuò)大和技術(shù)的日新月異,開(kāi)發(fā)過(guò)程中面臨著代碼耦合度高、配置繁瑣、事務(wù)管理復(fù)雜等諸多挑戰(zhàn)?;诖薙pring框架應(yīng)運(yùn)而生,Spring框架以其IoC容器、AOP支持、聲明式事務(wù)管理等諸多功能為開(kāi)發(fā)者提供了靈活、強(qiáng)大的開(kāi)發(fā)支持,使得項(xiàng)目開(kāi)發(fā)變得更加簡(jiǎn)潔、高效。本章將對(duì)Spring框架的基礎(chǔ)知識(shí)進(jìn)行詳細(xì)地講解。目錄/Contents1.11.2框架概述Spring框架簡(jiǎn)介1.3Spring入門(mén)程序框架概述1.11.1

框架概述先定一個(gè)小目標(biāo)!

先定一個(gè)小目標(biāo)!了解框架的的相關(guān)概念1.1

框架概述框架(Framework)一詞最早出現(xiàn)在建筑領(lǐng)域,指的是在建造房屋前期構(gòu)建的建筑骨架。在編程領(lǐng)域中,框架指的是一種預(yù)先設(shè)計(jì)好的軟件架構(gòu),它提供了通用的解決方案和功能模塊,以便開(kāi)發(fā)人員能夠在其基礎(chǔ)上構(gòu)建應(yīng)用程序??蚣芡ǔ0ㄒ幌盗蓄A(yù)定義的類(lèi)、接口、函數(shù)和工具,旨在簡(jiǎn)化開(kāi)發(fā)過(guò)程、提高效率并確保代碼的可維護(hù)性和可擴(kuò)展性。通過(guò)使用框架,開(kāi)發(fā)人員可以專注于業(yè)務(wù)邏輯的實(shí)現(xiàn),而無(wú)需重復(fù)編寫(xiě)通用的代碼,從而加速開(kāi)發(fā)并提高代碼質(zhì)量。1.1

框架概述Hibernate是一個(gè)優(yōu)秀的ORM(ObjectRelationalMapping,對(duì)象關(guān)系映射)框架,它允許開(kāi)發(fā)人員使用面向?qū)ο蟮姆绞絹?lái)操作數(shù)據(jù)庫(kù),而不必編寫(xiě)傳統(tǒng)的SQL查詢語(yǔ)句。通過(guò)在Java類(lèi)和數(shù)據(jù)庫(kù)表之間建立映射關(guān)系,Hibernate可以自動(dòng)執(zhí)行數(shù)據(jù)庫(kù)操作,包括存儲(chǔ)、更新、檢索和刪除數(shù)據(jù)。Hibernate還提供了緩存、事務(wù)管理、延遲加載等高級(jí)功能,使得數(shù)據(jù)持久化變得更加簡(jiǎn)單和高效。Hibernate框架當(dāng)前JavaEE開(kāi)發(fā)中較為常見(jiàn)的主流框架。1.1

框架概述MyBatis是流行的持久層框架,它使用XML配置文件或注解來(lái)定義SQL映射,將Java對(duì)象與數(shù)據(jù)庫(kù)記錄之間進(jìn)行映射。相對(duì)于Hibernate,MyBatis更加靈活,可以直接編寫(xiě)原生的SQL查詢語(yǔ)句,同時(shí)保留了對(duì)象關(guān)系映射的優(yōu)勢(shì)。MyBatis提供了強(qiáng)大的SQL控制能力,而且其輕量級(jí)的特性使得它易于上手和學(xué)習(xí),為用戶提供了高效且靈活的數(shù)據(jù)庫(kù)交互體驗(yàn)。MyBatis框架1.1

框架概述Spring是一個(gè)開(kāi)源框架,旨在解決企業(yè)應(yīng)用程序開(kāi)發(fā)中的復(fù)雜性,它可以將應(yīng)用程序中的單層框架(只為應(yīng)用程序中某一層提供解決方案的框架)以最佳方式整合在一起。這種設(shè)計(jì)使得開(kāi)發(fā)人員能夠更專注于每個(gè)層的具體實(shí)現(xiàn),而無(wú)需過(guò)多關(guān)注層與層之間的交互細(xì)節(jié),從而構(gòu)建出一個(gè)連貫且強(qiáng)大的體系。Spring不僅簡(jiǎn)化了開(kāi)發(fā)流程,還提供了更為完善的開(kāi)發(fā)環(huán)境,使得POJO(PlainOldJavaObject,普通Java對(duì)象)能夠輕松獲得企業(yè)級(jí)服務(wù)支持。Spring框架1.1

框架概述SpringMVC是Spring框架中的一個(gè)模塊,用于構(gòu)建基于MVC(ModelViewController,模型視圖控制)模式的Web應(yīng)用程序。通過(guò)將請(qǐng)求映射到相應(yīng)的處理程序、支持多種視圖技術(shù)和提供靈活的請(qǐng)求處理機(jī)制,SpringMVC可以幫助開(kāi)發(fā)人員構(gòu)建靈活、易于維護(hù)的Web應(yīng)用程序。SpringMVC框架1.1

框架概述SpringBoot是一個(gè)旨在簡(jiǎn)化Spring應(yīng)用程序初始搭建和開(kāi)發(fā)過(guò)程的框架。SpringBoot提供了自動(dòng)配置、嵌入式Web服務(wù)器、健康檢查、外部化配置等功能,使得開(kāi)發(fā)人員可以快速搭建生產(chǎn)就緒的Spring應(yīng)用程序,而無(wú)須煩瑣的配置。SpringBoot框架1.1

框架概述SpringCloud是一套用于構(gòu)建分布式系統(tǒng)的微服務(wù)架構(gòu)工具集合。它提供了多個(gè)子項(xiàng)目,如服務(wù)發(fā)現(xiàn)、負(fù)載均衡、斷路器、分布式配置等,幫助開(kāi)發(fā)人員構(gòu)建可擴(kuò)展、彈性和高可用的微服務(wù)架構(gòu)。SpringCloud與SpringBoot結(jié)合使用,能夠更好地支持微服務(wù)應(yīng)用程序的開(kāi)發(fā)和部署。SpringCloud框架Spring框架簡(jiǎn)介1.21.2.1

Spring框架概述先定一個(gè)小目標(biāo)!

先定一個(gè)小目標(biāo)!了解Spring框架的概念,能夠簡(jiǎn)述Spring框架的優(yōu)點(diǎn)1.2.1

Spring框架概述JavaEE的早期開(kāi)發(fā)開(kāi)發(fā)人員被鼓勵(lì)使用EJB作為主要的開(kāi)發(fā)方式。暴露出了許多問(wèn)題:使用復(fù)雜性高、代碼冗余、代碼侵入性強(qiáng)、開(kāi)發(fā)周期長(zhǎng)以及移植性差等。使用Spring框架開(kāi)發(fā)Spring框架采用了IoC和AOP的概念,通過(guò)依賴注入、面向切面編程等機(jī)制,大大簡(jiǎn)化了開(kāi)發(fā)過(guò)程。Spring框架代碼簡(jiǎn)潔、靈活性高、可測(cè)試性強(qiáng)、可重用性好,并且更易于集成到不同的環(huán)境中1.2.1

Spring框架概述Spring框架提供了對(duì)SpringMVC、Struts2等框架的整合,幫助開(kāi)發(fā)人員構(gòu)建靈活可擴(kuò)展的Web應(yīng)用程序在表現(xiàn)層方面Spring框架提供了管理事務(wù)和日志記錄等功能,幫助開(kāi)發(fā)人員編寫(xiě)清晰、可維護(hù)的業(yè)務(wù)邏輯在業(yè)務(wù)邏輯層方面Spring框架可以整合MyBatis、Hibernate、JdbcTemplate等技術(shù),幫助開(kāi)發(fā)人員與數(shù)據(jù)庫(kù)進(jìn)行高效交互,實(shí)現(xiàn)數(shù)據(jù)持久化在持久層方面Spring框架為三層體系架構(gòu)的每個(gè)層次提供的技術(shù)支持1.2.1

Spring框架概述Spring框架的優(yōu)點(diǎn):1.

非侵入式設(shè)計(jì)2.

降低耦合度,方便開(kāi)發(fā)3.

支持AOP編程4.

支持聲明式事務(wù)5.

方便程序的測(cè)試6.

方便集成各種優(yōu)秀框架7.

降低JavaEEAPI的使用難度1.2.2Spring框架的體系結(jié)構(gòu)和核心概念先定一個(gè)小目標(biāo)!

先定一個(gè)小目標(biāo)!熟悉Spring框架的體系結(jié)構(gòu)和核心概念,能夠簡(jiǎn)述Spring框架的體系中各模塊的作用1.2.2Spring框架的體系結(jié)構(gòu)和核心概念Spring框架的體系結(jié)構(gòu)1.2.2Spring框架的體系結(jié)構(gòu)和核心概念Context模塊Context模塊構(gòu)建于Beans模塊和Core模塊之上,提供了更豐富的應(yīng)用上下文信息管理功能Beans模塊Beans模塊提供了對(duì)BeanFactory等工廠模式的實(shí)現(xiàn),Beans模塊的主要作用是創(chuàng)建和管理BeanSpEL模塊SpEL模塊是Spring3.0后新增的模塊,提供了對(duì)SpEL表達(dá)式語(yǔ)言Core模塊Core模塊提供了Spring框架的基礎(chǔ)功能,包括IoC(控制反轉(zhuǎn))和DI(依賴注入)功能,是整個(gè)Spring框架的核心所在核心容器(CoreContainer)1.2.2Spring框架的體系結(jié)構(gòu)和核心概念0102030405JDBC模塊簡(jiǎn)化了JDBC編碼的過(guò)程,同時(shí)還可以處理那些數(shù)據(jù)庫(kù)供應(yīng)商特有的錯(cuò)誤代碼ORM模塊提供了對(duì)主流的對(duì)象關(guān)系映射(ORM)框架的集成支持OXM模塊提供了對(duì)XML映射的抽象支持,可以與各種XML綁定框架(如JAXB、Castor、XMLBeans等)進(jìn)行集成JMS模塊主要用于處理消息傳遞,包括消息的生產(chǎn)和消費(fèi)Transactions模塊負(fù)責(zé)事務(wù)管理,通過(guò)注解或配置文件可以實(shí)現(xiàn)聲明式事務(wù)管理JDBC模塊ORM模塊OXM模塊JMS模塊數(shù)據(jù)訪問(wèn)及集成(DataAccess/Integration)Transactions模塊1.2.2Spring框架的體系結(jié)構(gòu)和核心概念WebSocket模塊WebSocket模塊提供了對(duì)WebSocket和SockJS的支持,以及對(duì)STOMP協(xié)議的實(shí)現(xiàn)SpringWeb模塊SpringWeb模塊提供了Web開(kāi)發(fā)的基本支持,包括處理文件上傳、HTTP客戶端、Spring遠(yuǎn)程處理支持等功能Portlet模塊Portlet模塊是專門(mén)為Portlet環(huán)境設(shè)計(jì)的模塊,提供了針對(duì)Portlet環(huán)境下的MVC實(shí)現(xiàn)Servlet模塊Servlet模塊用于構(gòu)建Web應(yīng)用程序的RESTful服務(wù)Web1.2.2Spring框架的體系結(jié)構(gòu)和核心概念0102030405AOP模塊提供了對(duì)面向切面編程的支持,允許開(kāi)發(fā)者定義切面(Aspect)來(lái)截取應(yīng)用程序的流程,并在切入點(diǎn)上執(zhí)行額外的行為Aspects

模塊提供了與AspectJ集成的支持,AspectJ是一個(gè)功能強(qiáng)大且成熟的AOP框架Instrumentation模塊提供了對(duì)類(lèi)工具的支持,并且實(shí)現(xiàn)了類(lèi)加載器Messaging模塊提供了對(duì)消息傳遞體系結(jié)構(gòu)和協(xié)議的支持Test模塊提供了對(duì)程序單元測(cè)試和集成測(cè)試的支持AOP模塊Aspects

模塊Instrumentation

模塊Messaging模塊其他模塊Test模塊IoC(InversionofControl,控制反轉(zhuǎn))是Spring框架的核心理念之一,旨在構(gòu)建低耦合的應(yīng)用程序,降低代碼的復(fù)雜度??刂品崔D(zhuǎn)的思想倡導(dǎo)將對(duì)象的創(chuàng)建和管理交給容器,容器負(fù)責(zé)實(shí)例化對(duì)象、管理對(duì)象的生命周期以及注入依賴關(guān)系。這樣對(duì)象的控制權(quán)就從應(yīng)用程序轉(zhuǎn)移到了容器,因此稱為控制反轉(zhuǎn)。Spring框架提供了實(shí)現(xiàn)IoC思想的IoC容器,通常談及Spring容器時(shí),指的就是Spring框架中的IoC容器。Spring框架的IoC容器主要包括BeanFactory和ApplicationContext,這些IoC容器負(fù)責(zé)對(duì)象的實(shí)例化、裝配、配置和管理。IoCSpring框架的核心概念1.2.2Spring框架的體系結(jié)構(gòu)和核心概念DI(DependencyInjection,依賴注入)是IoC的一種實(shí)現(xiàn)方式,它通過(guò)外部配置(如IoC容器)在對(duì)象創(chuàng)建時(shí)自動(dòng)將其所依賴的其他對(duì)象注入到該對(duì)象中,而不是讓對(duì)象內(nèi)部自行創(chuàng)建和管理這些依賴。依賴注入可以通過(guò)構(gòu)造函數(shù)、setter方法或接口等多種方式實(shí)現(xiàn),從而提高了代碼的可測(cè)試性、可維護(hù)性和可重用性。DI1.2.2Spring框架的體系結(jié)構(gòu)和核心概念在Spring框架中,Bean是指由Spring容器管理的對(duì)象實(shí)例,由Spring的IoC容器創(chuàng)建和管理。開(kāi)發(fā)者可以通過(guò)在配置文件或配置類(lèi)中定義Bean的屬性和依賴關(guān)系,IoC容器會(huì)根據(jù)配置信息實(shí)例化Bean,并將其加入到容器中進(jìn)行管理。通過(guò)Bean的定義和配置,可以實(shí)現(xiàn)對(duì)象的控制反轉(zhuǎn)和依賴注入,實(shí)現(xiàn)低耦合的組件化開(kāi)發(fā)。Bean1.2.2Spring框架的體系結(jié)構(gòu)和核心概念Spring入門(mén)程序1.31.3Spring入門(mén)程序先定一個(gè)小目標(biāo)!

先定一個(gè)小目標(biāo)!掌握Spring入門(mén)程序,能夠在項(xiàng)目中通過(guò)Spring框架實(shí)現(xiàn)控制反轉(zhuǎn)(1)創(chuàng)建項(xiàng)目并引入依賴文件1-1pom.xml源代碼在IDEA中創(chuàng)建名稱為chapter01的Maven項(xiàng)目,入門(mén)程序需要使用Spring框架的功能對(duì)此在項(xiàng)目的pom.xml文件中引入Spring框架相關(guān)的依賴,具體如文件1-1所示。1.3Spring入門(mén)程序(2)自定義接口和實(shí)現(xiàn)類(lèi)文件1-2

UserDao.java文件1-3UserDaoImpl.java源代碼在chapter01項(xiàng)目的src/main/java目錄下創(chuàng)建com.itheima.dao包,并在該包下自定義接口UserDao和接口對(duì)應(yīng)的實(shí)現(xiàn)類(lèi)UserDaoImpl,具體代碼如文件1-2和文件1-3所示。1.3Spring入門(mén)程序(3)創(chuàng)建配置文件并定義Bean文件1-4applicationContext.xml源代碼在chapter01項(xiàng)目的src/main/resources目錄下創(chuàng)建applicationContext.xml文件作為Spring入門(mén)程序的配置文件,并在applicationContext.xml配置文件中定義Bean,具體代碼如文件1-4所示。1.3Spring入門(mén)程序(4)定義測(cè)試類(lèi)文件1-5TestHelloSpring.java源代

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論