一,spring的簡介
? ?Spring是一個(gè)開源框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。? 提供了許多功能強(qiáng)大且易于使用的特性,使得開發(fā)者能夠更加輕松地構(gòu)建可維護(hù)且可擴(kuò)展的應(yīng)用程序,簡單來說: Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。
1.1 spring能夠干什么?
?Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益
目的:解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性
?功能:使用基本的JavaBean代替EJB,并提供了更多的企業(yè)應(yīng)用功能
?范圍:任何Java應(yīng)用 簡單來說,Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的? ? ? ? ? ? ? ? 容器框架。
2.2 spring帶來的好處?
2..2.1 提高開發(fā)效率:
? ? ? ? Spring提供了大量的開發(fā)工具和庫,簡化了企業(yè)級(jí)應(yīng)用的開發(fā)過程。它具有簡單的配置、模塊化的設(shè)計(jì)和豐富的文檔,使得開發(fā)人員能夠更快速地開發(fā)功能。
2.2.2 降低復(fù)雜性:
? ? ? ?通過Spring的依賴注入和面向接口編程,開發(fā)者可以更容易地管理應(yīng)用程序的復(fù)雜性。組件之間的解耦和模塊化設(shè)計(jì)使得應(yīng)用程序更易于理解、維護(hù)和擴(kuò)展。
2.2.3 提高可測試性:
? ? ? ? Spring的依賴注入模式使得應(yīng)用程序的各個(gè)組件更容易進(jìn)行單元測試。通過接口和模擬對(duì)象,開發(fā)者可以更方便地針對(duì)特定組件編寫測試用例。
二,注入方式(三種)
第一種:set注入
定義一個(gè)接口并該接口定義一個(gè)方法 UserService
定義兩個(gè)實(shí)現(xiàn)類去實(shí)現(xiàn)該接口重寫其中的方法? UservServiceImpl1:
UservServiceImpl2:
? ?
會(huì)發(fā)現(xiàn)在不同的實(shí)現(xiàn)類,有著不同的方法,在后端將實(shí)例化當(dāng)作看成一個(gè)屬性,給該屬性提供get set方法,并調(diào)用接口方法
兩個(gè)后端Action
GoodsAction:
?
UserAction:
? ? ?將spring部署到idea中,打開pom.xml,將url標(biāo)簽及build標(biāo)簽中間的部分改成下面代碼
注意:后續(xù)步驟要連接網(wǎng)絡(luò) !,因?yàn)橐螺dspring插件等
<properties> <spring.version>5.0.1.RELEASE</spring.version> <javax.servlet.version>4.0.0</javax.servlet.version> <junit.version>4.12</junit.version> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <!-- 2、導(dǎo)入spring依賴 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>${spring.version}</version> </dependency> <!-- 5.1、junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> <!-- 5.2、servlet --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>${javax.servlet.version}</version> <scope>provided</scope> </dependency> </dependencies>
? ? ? 接下來根據(jù)下面步驟創(chuàng)建spring Config文件,如果沒有該選項(xiàng)就是前面配置pom.xml文件沒有連接網(wǎng)絡(luò),建議創(chuàng)建一個(gè)新的web項(xiàng)目,將包和類copy過去即可
spring.Config? ioc容器的配置
?最后 創(chuàng)建一個(gè)測試類來進(jìn)行測試 text
?
運(yùn)行結(jié)果:
第二種:構(gòu)造注入
在第一種前提下使用無參有參構(gòu)造及獲取當(dāng)前屬性方法,方便在測試調(diào)用
?
spring.xml的配置:
在測試類調(diào)用屬性方法
測試結(jié)果:
第三種:接口注入(自動(dòng)裝配)
3.1 byName
? ?javaBean會(huì)根據(jù)屬性名在spring的上下文中的bean的id進(jìn)行查找,
有就會(huì)自動(dòng)裝配
?
修改spring-context.xml 配置文件文章來源:http://www.zghlxwxcb.cn/news/detail-654039.html
?
3.2 byType
? ?? JavaBean會(huì)以根據(jù)屬性名對(duì)應(yīng)的接口,在spring上下文中進(jìn)行查找
查找方式:是根據(jù)spring上下文中是否有接口實(shí)現(xiàn)類進(jìn)行匹配,只要有就自動(dòng)配置
修改spring-context.xml 配置文件
文章來源地址http://www.zghlxwxcb.cn/news/detail-654039.html
到了這里,關(guān)于spring入門基本介紹及注入方式---詳細(xì)介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!