Spring框架介紹及使用-創(chuàng)新互聯(lián)

文章目錄
  • 1.概述
    • 1.1 Spring是什么
    • 1.2 Spring 的優(yōu)勢(shì)
    • 1.3 spring 的體系結(jié)構(gòu)
  • 2. IoC 的概念和作用
    • 2.1 什么是程序的耦合
    • 2.2 IoC容器
  • 3. AOP的概念和作用
    • 3.1 AOP概念
    • 3.2 AOP使用
  • 4.總結(jié)

超鏈接: https://gitee.com/laocou/spring.git

成都創(chuàng)新互聯(lián)公司專注于企業(yè)網(wǎng)絡(luò)營銷推廣、網(wǎng)站重做改版、灞橋網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5建站購物商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為灞橋等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。1.概述 1.1 Spring是什么

Spring 是分層的 Java SE/EE 應(yīng)用 full-stack 輕量級(jí)開源框架,以 IoC(Inverse Of Control:反轉(zhuǎn)控制)和 AOP(Aspect Oriented Programming:面向切面編程)為內(nèi)核,提供了展現(xiàn)層 SpringMVC 和持久層 SpringJDBC 以及業(yè)務(wù)層事務(wù)管理等眾多的企業(yè)級(jí)應(yīng)用技術(shù),還能整合開源世界眾多著名的第三方框架和類庫,逐漸成為使用最多的 Java EE 企業(yè)應(yīng)用開源框架。

1.2 Spring 的優(yōu)勢(shì)

方便解耦,簡化開發(fā)
通過 Spring 提供的 IoC 容器,可以將對(duì)象間的依賴關(guān)系交由 Spring 進(jìn)行控制,避免硬編碼所造成的過度程序耦合。用戶也不必再為單例模式類、屬性文件解析等這些很底層的需求編寫代碼,可以更專注于上層的應(yīng)用。
AOP 編程的支持
通過 Spring 的 AOP 功能,方便進(jìn)行面向切面的編程,許多不容易用傳統(tǒng) OOP 實(shí)現(xiàn)的功能可以通過 AOP 輕松應(yīng)付。
聲明式事務(wù)的支持
可以將我們從單調(diào)煩悶的事務(wù)管理代碼中解脫出來,通過聲明式方式靈活的進(jìn)行事務(wù)的管理,提高開發(fā)效率和質(zhì)量。
方便集成各種優(yōu)秀框架
Spring 可以降低各種框架的使用難度,提供了對(duì)各種優(yōu)秀框架(Struts、Hibernate、Hessian、Quartz等)的直接支持。
降低 JavaEE API 的使用難度
Spring 對(duì) JavaEE API(如 JDBC、JavaMail、遠(yuǎn)程調(diào)用等)進(jìn)行了薄薄的封裝層,使這些 API 的使用難度大為降低。
Java 源碼是經(jīng)典學(xué)習(xí)范例
Spring 的源代碼設(shè)計(jì)精妙、結(jié)構(gòu)清晰、匠心獨(dú)用,處處體現(xiàn)著大師對(duì) Java 設(shè)計(jì)模式靈活運(yùn)用以及對(duì) Java 技術(shù)的高深造詣。它的源代碼無意是 Java 技術(shù)的最佳實(shí)踐的范例。

1.3 spring 的體系結(jié)構(gòu)

spring 的體系結(jié)構(gòu)

2. IoC 的概念和作用 2.1 什么是程序的耦合

在軟件工程中,耦合指的就是就是對(duì)象之間的依賴性。對(duì)象之間的耦合越高,維護(hù)成本越高。因此對(duì)象的設(shè)計(jì)
應(yīng)使類和構(gòu)件之間的耦合最小。軟件設(shè)計(jì)中通常用耦合度和內(nèi)聚度作為衡量模塊獨(dú)立程度的標(biāo)準(zhǔn)。劃分模塊的一個(gè)準(zhǔn)則就是高內(nèi)聚低耦合。

比如:
早期我們的 JDBC 操作,注冊(cè)驅(qū)動(dòng)時(shí),我們?yōu)槭裁床皇褂?DriverManager 的 register 方法,而是采
用 Class.forName 的方式?
Class.forName(“com.mysql.jdbc.Driver”); // 此處只是一個(gè)字符串
此時(shí)的好處是,我們的類中不再依賴具體的驅(qū)動(dòng)類,此時(shí)就算刪除 mysql 的驅(qū)動(dòng) jar 包,依然可以編譯(運(yùn)
行就不要想了,沒有驅(qū)動(dòng)不可能運(yùn)行成功的)。
同時(shí),也產(chǎn)生了一個(gè)新的問題,mysql 驅(qū)動(dòng)的全限定類名字符串是在 java 類中寫死的,一旦要改還是要修改
源碼。解決這個(gè)問題也很簡單,使用配置文件配置。

在實(shí)際開發(fā)中我們可以把對(duì)象使用配置文件配置起來,當(dāng)啟動(dòng)服務(wù)器應(yīng)用加載的時(shí)候,讓一個(gè)類中的
方法通過讀取配置文件,把這些對(duì)象創(chuàng)建出來并存起來。在接下來的使用的時(shí)候,直接拿過來用就好了。
那么,這個(gè)讀取配置文件,創(chuàng)建和獲取對(duì)象的類就是工廠,該工廠即為Spring中的容器。

2.2 IoC容器

在這里插入圖片描述
在這里插入圖片描述

BeanFactory 和 ApplicationContext 的區(qū)別:

  1. BeanFactory 是 Spring 容器中的頂層接口,ApplicationContext 是它的子接口。
    2.創(chuàng)建對(duì)象的時(shí)間點(diǎn)不一樣。
    ApplicationContext:只要一讀取配置文件,默認(rèn)情況下就會(huì)創(chuàng)建對(duì)象。
    BeanFactory:什么使用什么時(shí)候創(chuàng)建對(duì)象。

實(shí)例化Bean的三種方式:

1.使用默認(rèn)無參構(gòu)造函數(shù)(默認(rèn)情況且最常用,如果沒有無參構(gòu)造函數(shù)則不能實(shí)例化成功。)
2.使用靜態(tài)工廠的方法創(chuàng)建對(duì)象
3.使用實(shí)例工廠的方法創(chuàng)建對(duì)象

Spring依賴注入方式:

1.構(gòu)造函數(shù)注入
2.set方法注入

3. AOP的概念和作用 3.1 AOP概念

aop的底層實(shí)現(xiàn)用到了動(dòng)態(tài)代理。
在這里插入圖片描述

AOP相關(guān)術(shù)語(了解即可):
Joinpoint(連接點(diǎn)):
所謂連接點(diǎn)是指那些被攔截到的點(diǎn)。在 spring 中,這些點(diǎn)指的是方法,因?yàn)?spring 只支持方法類型的
連接點(diǎn)。
Pointcut(切入點(diǎn)):
所謂切入點(diǎn)是指我們要對(duì)哪些 Joinpoint 進(jìn)行攔截的定義。
Advice(通知/增強(qiáng)):
所謂通知是指攔截到 Joinpoint 之后所要做的事情就是通知。
通知的類型:前置通知,后置通知,異常通知,最終通知,環(huán)繞通知。
Introduction(引介):
引介是一種特殊的通知在不修改類代碼的前提下, Introduction 可以在運(yùn)行期為類動(dòng)態(tài)地添加一些方
法或 Field。
Target(目標(biāo)對(duì)象):
代理的目標(biāo)對(duì)象。
Weaving(織入):
是指把增強(qiáng)應(yīng)用到目標(biāo)對(duì)象來創(chuàng)建新的代理對(duì)象的過程。
spring 采用動(dòng)態(tài)代理織入,而 AspectJ 采用編譯期織入和類裝載期織入。
Proxy(代理):
一個(gè)類被 AOP 織入增強(qiáng)后,就產(chǎn)生一個(gè)結(jié)果代理類。
Aspect(切面):
是切入點(diǎn)和通知(引介)的結(jié)合。

3.2 AOP使用

超鏈接:https://gitee.com/laocou/spring.git
關(guān)于AOP的具體使用,上述鏈接的gitee代碼中有詳細(xì)介紹。

4.總結(jié)

上面只簡單列出的Spring最重要的基本概念。強(qiáng)烈建議大家將代碼下載到本地,鏈接如下:https://gitee.com/laocou/spring.git。從頭到尾整體過幾遍,形成一個(gè)完整的知識(shí)框架,鏈接中這些內(nèi)容已經(jīng)基本覆蓋平時(shí)項(xiàng)目開發(fā)中所用的知識(shí)點(diǎn)。后面如果想深入的話,推薦親自閱讀Spring源碼。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

文章名稱:Spring框架介紹及使用-創(chuàng)新互聯(lián)
文章分享:http://www.muchs.cn/article28/dodicp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、外貿(mào)建站、網(wǎng)站設(shè)計(jì)公司、虛擬主機(jī)、云服務(wù)器定制開發(fā)

廣告

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

網(wǎng)站托管運(yùn)營