日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

一.Spring框架基础

發布時間:2024/1/23 javascript 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一.Spring框架基础 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JAVAEE框架之Spring

一.Spring框架基礎

Spring:春天;輕量級的企業級開發框架,核心是IOC(控制反轉)和AOP(面向切面編程)。

官網:spring.io

Spring–>Spring MVC -->MyBatis–>Spring Boot–>SpringCloud–>Spring Security

Spring的歷史,我們來百度一下,一塊看下,不再錄屏。

Spring Framework創始人,著名作者。 Rod在悉尼大學不僅獲得了計算機學位,同時還獲得了音樂學位。更令人吃驚的是在回到軟件開發領域之前,他還獲得了音樂學的博士學位。

Spring從2002年開始出來,到現在是Spring 5.0了,快火了20年了,證明這個框架有其獨特之處、有其過人之處。

1.1 Spring作用

? MVC設計模式挺好,但是有很多問題,主要問題就是高耦合,在controller(Servlet)里面有對于業務層對象的耦合,在業務層里面有對于dao層對象的耦合,在BaseDao里面,有數據庫連接的耦合。

? 框架前奏,我們做的這些耦合的解耦。這些解耦是我們自己完成的,也就是說我們不用框架,也可以來實現解耦。

框架就是比較成熟的解耦半成品程序,可以讓程序員在這個框架的基礎上實現良好的,“高內聚、低耦合”的程序,實現面向對象的“高可用、健壯性、可復用”。

? Spring功能作業,程序解耦。

1.2 Spring 結構

jar包:[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-g15vqMH6-1591682862110)(E:\政通路\課堂筆記\S2\Spring\assets\image-20200608150007964.png)]

schema:概要|約束,一般都是xml文件的約束,spring針對xml配置文件有多重約束。

libs:存放spring5.0需要jar包,必備品

docs:spring開發英文原滋原味的幫助文檔

1.3 控制反轉

**Inversion of Control,即“控制反轉”,不是什么技術,而是一種設計思想。**在Java開發中,Ioc意味著將你設計好的對象交給容器控制,而不是傳統的在你的對象內部直接控制(創建)。

控制反轉是一種設計思想而依賴注入是這種思想的具體實現。

控制反轉的實現=依賴查找+依賴注入

  • 依賴查找:容器提供回調接口和上下文環境給組件
  • 依賴注入:程序代碼不做定位查詢,這些工作由容器自行完成

? 依賴注入是目前最優秀的解耦方式。依賴注入讓 Spring 的 Bean之間以配置文件的方式 組織在一起,而不是以硬編碼的方式耦合在一起的。

Bean:可重用組件;

JAVABean:Java程序的可重用組件,要遠大于實體類的概念。比如說之前的UserService,UserServiceImpl,都可以作為Bean。

現實案例:

我們要吃飯,要做飯,牛排沙拉,自己動手,豐衣足食。

? 紅燒肉

? 蛋炒飯

? 陜西米皮

? 我們自己想是啥,就做啥,類似于軟件開發中的,程序員自己new 出來一個對象(飯)。畢竟新東方廚師學校出來的比較少,好多人還是不會做飯。這時候就催生了一個機構(公司),我這公司平臺上有很多好吃飯的,你只需要點飯就可以了。具體是如何出來的你不管用,不好吃,差評,無條件退飯。公司–》傳說中的美團。美團就是一個第三方的機構,美團做飯嗎?平臺。

? 美團平臺上,有很多餐飲公司注冊到上面了,然后提供給美團很多菜品,供客戶選擇。

客戶要吃飯,客戶依賴于美團。是一種依賴關系。

餐飲公司要掙錢,依賴于美團,也是一種依賴關系。

延伸一下:

大家都是青年帥哥、美女,當然學習軟件開發的帥哥比較多,找對象,你自己一個一個找,比較麻煩,也比較累,這時候類似于我們程序員開發中的new 對象出來。不再new了,借助于一個平臺,婚介所(世紀佳緣、珍愛網等),有各種各樣的妹子、帥哥,供你選擇。

1.4 Spring實現IOC

1.4.1 pom.xml

<!--第一步:Spring jar依賴--><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.1.7.RELEASE</version></dependency></dependencies>

1.4.2 Gril類

private Integer id; private String name; private String hobby; //自己增加:身高 體重 其他代碼自己完善 Gril g1=new Gril(); //需要自己new對象出來 g1.setId(1); g1.setName("小芳"); g1.setHobby("寫代碼"); System.out.println(g1.toString());

1.4.3 配置文件

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttps://www.springframework.org/schema/beans/spring-beans.xsd"><!--這個是默認bean配置文件的約束信息--><!--beans:所有bean的集合;Spring就是Bean的容器,管理可重用組件--><!--單個的bean定義--><bean id="g1" class="com.aaa.pojo.Gril"><!--屬性--><property name="id" value="1"/><property name="name" value="小芳"/><property name="hobby" value="吃雞游戲"/></bean> </beans>

1.4.3 測試類

//第二種情況,交由Spring容器,來替我們選分配對象; //應用程序上下文對象; ApplicationContext ac=new ClassPathXmlApplicationContext("beans.xml"); //查找bean:g1,通過bean的id(g1)來查找Girld對象; Gril g1 = (Gril) ac.getBean("g1"); //輸出g1的信息; System.out.println(g1.toString());

總結:

? Bean是Spring管理的基本單位,在基于Spring的Java EE應用中,所有的組件都被當成Bean處理,包括數據源、Hibernate的SessionFactory、事務管理器等。在Spring中,Bean的是一個非常廣義的概念,任何的Java對象、Java組件都被當成Bean處理。

總結

以上是生活随笔為你收集整理的一.Spring框架基础的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。