Spring入門(mén)配置和DL依賴注入實(shí)現(xiàn)圖解
1、Spring入門(mén)配置
1.1、起別名
給項(xiàng)目起別名
!
1.2、import
導(dǎo)入其他xml
1.3、Bean的配置最重要的,又很多配置,我們先學(xué)一點(diǎn)
2、依賴注入(DL)
很重要
2.1、set注入
三種方式:
<?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/beans https://www.springframework.org/schema/beans/spring-beans.xsd'><bean class='bing.pojo.Student'> <!-- Set注入--> <property name='name' value='小冰'/><!-- 引用注入,address--> <property name='address' ref='address'/><!-- 數(shù)組注入--> <property name='advantages'> <array> <value>帥</value> <value>情商高</value> <value>智慧</value> <value>沉穩(wěn)</value> <value>有錢(qián)</value> </array> </property><!-- set--> <property name='course'> <set> <value>賺錢(qián)</value> <value>情商</value> <value>心理學(xué)</value> <value>經(jīng)濟(jì)學(xué)</value> <value>哲學(xué)</value> <value>英語(yǔ)</value> <value>數(shù)學(xué)</value> <value>計(jì)算機(jī)</value> </set> </property><!-- map注入--><property name='grades'> <map> <entry key='java' value='10000'/> <entry key='math' value='200'/> <entry key='English' value='300'/> <entry key='psychology' value='400'/> </map></property></bean> <bean class='bing.pojo.Address'> <property name='address' value='大亳州'/> </bean></beans>
記住這些類型的注入就行了
2.2、構(gòu)造器注入
<?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/beans https://www.springframework.org/schema/beans/spring-beans.xsd'><bean class='bing.User'><!-- 第一種方式:通過(guò)index獲取--> <constructor-arg index='0' value='bingbing'/></bean> <bean class='bing.Student'><!-- 方式二:通過(guò)key value--> <constructor-arg name='gender' value='小仙女'></constructor-arg> <constructor-arg name='age' value='19'/> </bean> <bean class='bing.Student'><!-- 方式三:通過(guò) 類型獲取,不推薦可能會(huì)出現(xiàn)歧義比如兩個(gè)String--><!-- 這里以及上面為什么使用全類名? 肯定用到了反射--> <constructor-arg type='java.lang.String' value='女'/> <constructor-arg type='int' value='18'/> </bean><bean class='bing.Teacher'><!-- 我們來(lái)試一下兩個(gè)String類型會(huì)發(fā)生什么情況--> <constructor-arg type='java.lang.String' value='girl'/> <constructor-arg type='java.lang.String' value='劉老師'/></bean><!-- 相當(dāng)于new對(duì)象,對(duì)象名為person,只有這一個(gè)對(duì)象--> <bean class='bing.Person'> </bean></beans>
注意:我們一般選用 key value注入,見(jiàn)名知意
2.3、拓展注入
為了簡(jiǎn)化我們可以引入p/c命名空間
使用方式:
<?xml version='1.0' encoding='UTF-8'?><beans xmlns='http://www.springframework.org/schema/beans' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:p='http://www.springframework.org/schema/p' xmlns:c='http://www.springframework.org/schema/c' xsi:schemaLocation='http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd'><!-- p,命名空間,p本質(zhì)上是什么? 就是properties,可以給簡(jiǎn)單的屬性命名,目的是為了簡(jiǎn)化--><bean p:name='zhangsan' p:age='18'></bean> <!-- c命名空間,怎么用? 是給constructor 構(gòu)造器初始化的,這里就要求必須要有有參構(gòu)造--> <bean c:name='bingbing' c:age='19' p:age='20'/></beans>
注意點(diǎn):
使用前要導(dǎo)入:
xmlns:p='http://www.springframework.org/schema/p'xmlns:c='http://www.springframework.org/schema/c'
類比:
p相當(dāng)于標(biāo)簽:properties 其實(shí)就是set注入,不過(guò)可以簡(jiǎn)化簡(jiǎn)單的操作
c詳單與 :constructor:就是用來(lái)給有參構(gòu)造器初始化的
2.4、bean標(biāo)簽作用域
bean是什么?就是一個(gè)對(duì)象,也就是類的實(shí)例
我們可以給他設(shè)置單例模式等等
單例模式
<bean />
<!-- the following is equivalent, though redundant (singleton scope is the default) --><bean scope='singleton'/>
原型模式
<bean scope='prototype'/>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
