亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Spring入門基礎(chǔ)之依賴注入

 更新時間:2022年07月04日 09:48:11   作者:RAIN 7  
Idea中使用@Autowire注解會出現(xiàn)提示黃線,強迫癥患者看著很難受,使用構(gòu)造器注入或者setter方法注入后可解決,下面我們一起來看看

一、構(gòu)造器注入

在前幾節(jié)已經(jīng)做過了詳細(xì)的說明講解,我們先跳過

二、set注入

依賴注入

依賴: bean對象的創(chuàng)建以及管理都依賴于Spring IOC容器

注入: bean對象中的所有屬性,都有容器進(jìn)行注入

在前面我們已經(jīng)見識過了 普通類型注入和 bean注入的方式,那么對于復(fù)雜類型List、數(shù)組類型、Map、Set屬性等怎么進(jìn)行注入呢?

我們先提供一個包含各種類型的實體類

Student 類

package com.kuang.pojo;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
@Setter
@Getter
@ToString
public class Student {
    private String name;
    private Address address;
    private String[] books;
    private List<String> hobbies;
    private Map<String,String> card;
    private Set<String> games;
    private String wife;
    private Properties info;
}

Student類中包含的 Address類

package com.kuang.pojo;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
public class Address {
    private String address;
}

(1)基本類型注入

<!--            普通類型注入-->
        <property name="name" value="張三"/>

(2)引用類型(bean)注入

    <bean name="address" class="com.kuang.pojo.Address"/>
    <bean id="student" class="com.kuang.pojo.Student">
<!--        引用類型(bean)注入-->
        <property name="address" ref="address"/>
    <bean/>

(3)數(shù)組類型注入

<!--         數(shù)組類型注入  -->
        <property name="books">
            <array>
                <value>紅樓夢</value>
                <value>水滸傳</value>
                <value>西游記</value>
                <value>三國演義</value>
            </array>
        </property>

property 嵌套 array標(biāo)簽 ,array標(biāo)簽中又 通過 value標(biāo)簽設(shè)置 數(shù)組中的值

(4)List類型注入

<!--Lits 屬性注入-->
        <property name="hobbies">
            <list>
                <value>打籃球</value>
                <value>彈吉他</value>
                <value>踢足球</value>
            </list>
        </property>

property 嵌套 list標(biāo)簽 ,list標(biāo)簽中又 通過 value標(biāo)簽設(shè)置 list中的值

(5)null 空值注入

<!--        null注入-->
        <property name="wife">
            <null/>
        </property>

property 嵌套 null標(biāo)簽,給指定屬性設(shè)置為null

(6)Map 類型注入

<!--        Map注入-->
        <property name="card">
            <map>
                <entry key="身份證" value="1111"/>
                <entry key="飯卡" value="22222"/>
            </map>
        </property>

property 嵌套 map標(biāo)簽 ,map標(biāo)簽中又 通過 entry標(biāo)簽設(shè)置 key、value中的值

(7)Set 類型注入

<!--        Set注入-->
        <property name="games">
            <set>
                <value>塞爾達(dá)</value>
                <value>馬里奧</value>
            </set>
        </property>

property 嵌套 set標(biāo)簽 ,set標(biāo)簽中又 通過value標(biāo)簽設(shè)置set中的值

(8)Properties 類型注入

<!--        properties注入-->
        <property name="info">
            <props>
                <prop key="url">111</prop>
                <prop key="username">root</prop>
                <prop key="password">22222</prop>
            </props>
        </property>

property 嵌套 props標(biāo)簽 , props標(biāo)簽中又 通過prop標(biāo)簽設(shè)置值

查看注入之后的結(jié)果,正確拿到結(jié)果

三、其他方式注入

(1)導(dǎo)入約束

其他拓展的注入有p命名注入和c命名注入,但是不能直接使用都需要引入xml約束

p命名空間注入xml約束

       xmlns:p="http://www.springframework.org/schema/p"

c命名空間xml約束

       xmlns:c="http://www.springframework.org/schema/c"

p命名和c命名是對注入方式的一種格式化

  • p命名對應(yīng)著 property 屬性注入
  • c命名對應(yīng)著 construct-arg 構(gòu)造參數(shù)注入

(2)p命名注入

    <bean name="address" class="com.kuang.pojo.Address"/>
    <bean id="student"
          class="com.kuang.pojo.Student"
          p:name="張三"
          p:address-ref="address"
    />

(3)c命名注入

    <bean name="address" class="com.kuang.pojo.Address"/>
    <bean id="student"
          class="com.kuang.pojo.Student"
          c:name="張三"
          c:address-ref="address"
    />

到此這篇關(guān)于Spring入門基礎(chǔ)之依賴注入的文章就介紹到這了,更多相關(guān)Spring依賴注入內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論