欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring入門配置和DL依賴注入實現圖解

 更新時間:2020年10月19日 10:40:55   作者:貝加爾湖畔╭  
這篇文章主要介紹了Spring入門配置和DL依賴注入實現圖解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

1、Spring入門配置

1.1、起別名

給項目起別名

!

1.2、import

導入其他xml

1.3、Bean的配置最重要的,又很多配置,我們先學一點

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 id="student" class="bing.pojo.Student">
  <!--  Set注入-->
  <property name="name" value="小冰"/>
<!--  引用注入,address-->
  <property name="address" ref="address"/>
<!--  數組注入-->
  <property name="advantages">
    <array>
      <value>帥</value>
      <value>情商高</value>
      <value>智慧</value>
      <value>沉穩(wěn)</value>
      <value>有錢</value>
    </array>
  </property>
<!--  set-->
  <property name="course">
    <set>
      <value>賺錢</value>
      <value>情商</value>
      <value>心理學</value>
      <value>經濟學</value>
      <value>哲學</value>
      <value>英語</value>
      <value>數學</value>
      <value>計算機</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 id="address" class="bing.pojo.Address">
    <property name="address" value="大亳州"/>
  </bean>

</beans>

記住這些類型的注入就行了

2.2、構造器注入

<?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 id="user" class="bing.User">
<!--  第一種方式:通過index獲取-->
  <constructor-arg index="0" value="bingbing"/>
</bean>

  <bean id="student" class="bing.Student">
<!--    方式二:通過key value-->
    <constructor-arg name="gender" value="小仙女"></constructor-arg>
    <constructor-arg name="age" value="19"/>
  </bean>

  <bean id="student2" class="bing.Student">
<!--    方式三:通過 類型獲取,不推薦可能會出現歧義比如兩個String-->
<!--    這里以及上面為什么使用全類名? 肯定用到了反射-->
    <constructor-arg type="java.lang.String" value="女"/>
    <constructor-arg type="int" value="18"/>
  </bean>

<bean id="teacher" class="bing.Teacher">
<!--  我們來試一下兩個String類型會發(fā)生什么情況-->
  <constructor-arg type="java.lang.String" value="girl"/>
  <constructor-arg type="java.lang.String" value="劉老師"/>
</bean>

<!--  相當于new對象,對象名為person,只有這一個對象-->
  <bean id="person" class="bing.Person">

  </bean>

</beans>

注意:我們一般選用 key value注入,見名知意

2.3、拓展注入

為了簡化我們可以引入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本質上是什么? 就是properties,可以給簡單的屬性命名,目的是為了簡化-->
<bean id="user" class="bing.pojo.User" p:name="zhangsan" p:age="18">

</bean>
  <!--  c命名空間,怎么用? 是給constructor 構造器初始化的,這里就要求必須要有有參構造-->
  <bean id="user2" class="bing.pojo.User" c:name="bingbing" c:age="19" p:age="20"/>
</beans>

注意點:

使用前要導入:

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

類比:

p相當于標簽:properties 其實就是set注入,不過可以簡化簡單的操作

c詳單與 :constructor:就是用來給有參構造器初始化的

2.4、bean標簽作用域

bean是什么?就是一個對象,也就是類的實例

我們可以給他設置單例模式等等

單例模式

<bean id="accountService" class="com.something.DefaultAccountService"/>

<!-- the following is equivalent, though redundant (singleton scope is the default) -->
<bean id="accountService" class="com.something.DefaultAccountService" scope="singleton"/>

原型模式

<bean id="accountService" class="com.something.DefaultAccountService" scope="prototype"/>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • SpringCloud的@RefreshScope 注解你了解嗎

    SpringCloud的@RefreshScope 注解你了解嗎

    這篇文章主要介紹了Spring Cloud @RefreshScope 原理及使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-09-09
  • Java中空指針異常的幾種解決方案

    Java中空指針異常的幾種解決方案

    這篇文章主要介紹了Java中空指針異常的幾種解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Spring注解@Resource和@Autowired區(qū)別對比詳解

    Spring注解@Resource和@Autowired區(qū)別對比詳解

    這篇文章主要介紹了Spring注解@Resource和@Autowired區(qū)別對比詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • spring boot 配置Filter過濾器的方法

    spring boot 配置Filter過濾器的方法

    本篇文章主要介紹了spring boot 配置Filter過濾器的方法,實例分析了spring boot 配置Filter過濾器的技巧,有興趣的可以了解一下。
    2017-03-03
  • Java程序與C語言的區(qū)別淺析

    Java程序與C語言的區(qū)別淺析

    Java和C語言雖有相同性,但兩者也有一定的不同。Java程序是面向對象的一種簡單、分布式 、解釋、健壯、安全、結構中立、可移植、高效能、多線程、動態(tài)的語言它是面向對象而C語言是面向過程的,這是最大的不同,對于學過C語言的我們來說,Java可以說是比較簡單的編程語言
    2017-04-04
  • spring boot 利用注解實現權限驗證的實現代碼

    spring boot 利用注解實現權限驗證的實現代碼

    這篇文章主要介紹了spring boot 利用注解實現權限驗證的實現代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • Java中equals方法使用及重寫練習

    Java中equals方法使用及重寫練習

    equals是在object類中的方法,在object中equals是用來看看兩個參數是否引用的是同一個對象,下面這篇文章主要給大家介紹了關于Java中equals方法使用及重寫練習的相關資料,需要的朋友可以參考下
    2023-05-05
  • Java創(chuàng)建多線程局域網聊天室實例

    Java創(chuàng)建多線程局域網聊天室實例

    這篇文章主要介紹了Java創(chuàng)建多線程局域網聊天室實例,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-07-07
  • Spring擴展接口知識總結

    Spring擴展接口知識總結

    今天帶大家學習Java Spring的相關知識,文中對Spring擴展接口作了非常詳細的介紹及代碼示例,對正在學習java的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05
  • 在IDEA中創(chuàng)建SpringBoot項目的詳細步驟

    在IDEA中創(chuàng)建SpringBoot項目的詳細步驟

    這篇文章主要給大家介紹了在IDEA中創(chuàng)建SpringBoot項目的詳細步驟,文中有詳細的圖文介紹和代碼示例,對大家的學習和工作有一定的幫助,需要的朋友可以參考下
    2023-09-09

最新評論