目錄
一.spring來源,以及介紹
1.spring誕生的背景
2.spring框架 介紹
3.spring框架在使用中的優點以及不足
3.1優點
?3.2不足
3.3總結
4.為什么要使用spring?
二.將spring框架部署在IDEA中?
1.替換pom.xml
?2.構建spring所需要的xml文件
三.spring的三種注入方式
0.定義需要的類,方法
1.方法注入
1.1接口注入(同時查看兩個打印語句)
? 1.2屬性注入,打印定義的屬性
?1.3自動注入
1.3.1byname
?1.3.2btype
四.java spring 面試題
1.說說對于spring理解?
2.說說我對于ioc的理解 ?
?3.spring中ioc的注入方式?
4.spring中自動裝配中的byname和bytype是什么?
一.spring來源,以及介紹
1.spring誕生的背景
"Spring"這個詞在英文中是春天的意思,它也被用作一種季節的名稱。而在計算機科學領域,"Spring"是一個重要的開發框架,用于構建Java應用程序。
Spring框架的由來可以追溯到2002年,當時由Rod Johnson所著的《Expert One-on-One J2EE Design and Development》一書的出版,這本書講述了如何有效地構建Java企業級應用程序。作者強調了解決傳統Java開發中的一些缺點和挑戰的重要性。
在這本書中,Rod Johnson提出了一種輕量級、簡化編碼的方法,稱之為"Spring"。他的目標是創建一個框架,使Java開發人員能夠更輕松地構建可擴展、可維護的企業級應用程序。Spring框架的核心思想是通過依賴注入和面向切面編程來提高應用程序的松耦合性和可測試性。
由于Spring框架具有很多有用的特性和優點,它很快在Java開發社區中受到了廣泛的認可和采用。隨著時間的推移,Spring框架逐漸發展成一個強大而成熟的開發框架,并支持包括Web應用程序、RESTful服務、消息隊列、數據訪問等多種應用場景。
至今,Spring框架仍然是Java開發中最受歡迎和廣泛使用的框架之一,它提供了豐富的功能和工具,幫助開發人員更高效地構建各種類型的應用程序。
2.spring框架 介紹
? Spring是一個開源框架,它由Rod Johnson創建。它是為了解決企業應用開發的復雜性而創建的。
?? Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。
?? 然而,Spring的用途不僅限于服務器端的開發。從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益。
?? 目的:解決企業應用開發的復雜性
?? 功能:使用基本的JavaBean代替EJB,并提供了更多的企業應用功能
?? 范圍:任何Java應用
?? 簡單來說,Spring是一個輕量級的控制反轉(IoC)和面向切面(AOP)的容器框架。
3.spring框架在使用中的優點以及不足
3.1優點
Java Spring框架在使用中有以下的優點:
-
松耦合:Spring框架采用依賴注入(DI)和控制反轉(IOC)容器的概念,這使得各個模塊之間的耦合度降低,提高了代碼的可維護性和可測試性。
-
面向切面編程(AOP):Spring框架支持AOP,可以更容易地實現橫切關注點的功能,例如日志記錄、事務管理等。這樣,開發人員可以將業務邏輯與非業務邏輯分離,提高了代碼的可讀性和模塊化。
-
簡化開發:Spring框架提供了豐富的開發工具和功能模塊,如數據訪問、Web開發、安全性管理等,可以極大地簡化Java應用程序的開發過程。同時,Spring Boot框架進一步簡化了Spring應用的配置和部署。
-
容器管理:Spring框架提供了一個容器,用于管理應用程序中的各種對象,包括管理對象的創建、銷毀、依賴關系等。這樣,開發人員可以更方便地管理和組織應用程序的組件。
-
數據訪問支持:Spring框架提供了對各種數據訪問技術(如JDBC、ORM等)的支持,可以簡化數據訪問層的開發。它還提供了事務管理的功能,確保數據的一致性和可靠性。
?3.2不足
-
學習曲線較 steep:對于新手或沒有使用過Spring框架的開發人員來說,學習和理解Spring框架可能需要一些時間和精力。它的概念和技術較為龐雜,需要一定的經驗和實踐才能熟練地使用。
-
過度使用可能導致復雜性:Spring框架提供了很多功能和選項,但如果過度使用或配置不合理,可能會導致代碼的復雜性增加。開發人員需要權衡和選擇使用哪些功能,保持代碼的簡潔性和可維護性。
-
XML配置冗長:在早期版本的Spring框架中,配置通常使用XML文件進行,這可能會導致配置文件冗長和復雜。然而,Spring框架已經提供了更現代化的配置方式,如基于注解的配置和Java配置類。
3.3總結
總的來說,Java Spring框架是一個強大而成熟的開發框架,它在提高Java應用程序的開發效率和質量方面具有顯著的優勢。然而,開發人員在使用時應根據具體情況權衡利弊,并正確地使用和配置框架的功能。
4.為什么要使用spring?
程序員手動實例化對象弊端1.一旦依賴的接口需要大批量改動,迭代,維護的成本極高2.接口實現類不同,維護成本更高通過使用spring可以實現自動實例化對象!
二.將spring框架部署在IDEA中?
1.替換pom.xml
?2.構建spring所需要的xml文件
?自此,spring就成功部署在在maven項目中了
三.spring的三種注入方式
0.定義需要的類,方法
?
?
1.方法注入
有兩種第一種就是接口注入,其次就是屬性注入!
1.1接口注入(同時查看兩個打印語句)
實現思路就是定義bean設置id定義為了實例化的servet
?
? 1.2屬性注入,打印定義的屬性
?1.3自動注入
1.3.1byname
?
?1.3.2btype
四.java spring 面試題
1.說說對于spring理解?
spring是一個輕量級控制反轉(ioc)和面向切面(aop)的容器框架!
2.說說我對于ioc的理解 ?
控制反轉:就是將實例化對象的權力由程序員控制交給spring容器來控制
?3.spring中ioc的注入方式?
set方法注入,構造注入,接口注入:自動裝配
4.spring中自動裝配中的byname和bytype是什么?
bname:Javabean會根據屬性名在spring的上下文尋找尋找要求是根據spring的上下文中的
bean的id進行尋找,有的話就自動注入
btype:javabean會根據屬性名對應的接口類型,在spring的上下文尋找,尋找要求是根據spring的上下文中的
是否又該接口的實現類進行尋找,有的話就自動注入(唯一性 )