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

關(guān)于Spring不同類型的注入方式 p-namespace,c-namespace

 更新時間:2021年09月26日 10:37:22   作者:coder鵬鵬  
這篇文章主要介紹了Spring不同類型的注入方式 p-namespace,c-namespace。具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Spring不同類型的注入方式

spring官網(wǎng)代碼示例

1、不同類型的注入方式

<?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="address" class="com.hu.pojo.Address">
        <property name="address" value="lalala"/>
    </bean>
    <bean id="student" class="com.hu.pojo.Student">
        <!--注入value-->
        <property name="name" value="pengpeng"/>
        <!--第二種bean注入,ref-->
        <property name="address" ref="address"/>
        <!--String[]數(shù)組注入-->
        <property name="book">
            <array>
                <value>紅樓夢</value>
                <value>水滸傳</value>
            </array>
        </property>
        <!--list注入-->
        <property name="hobbys">
            <list>
                <value>聽歌</value>
                <value>make</value>
            </list>
        </property>
        <!--map注入-->
        <property name="card">
            <map>
                <entry key="gender" value="male"/>
            </map>
        </property>
        <!--set注入-->
        <property name="games">
            <set>
                <value>lol</value>
            </set>
        </property>
        <!--空值-->
        <property name="wife" value=""/>
        <!--properties注入-->
        <property name="info">
            <props>
                <prop key="學(xué)號">15200000</prop>
                <prop key="專業(yè)">CS</prop>
            </props>
        </property>
    </bean>
</beans>

2、p-namespace以及c-namespace

2.1 添加方法

<?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">
    <bean id="user" class="com.hu.pojo.User" p:name="鵬鵬"/>
</beans>

2.2 p和c區(qū)別

  • p-namespace:通過值進(jìn)行注入,簡潔方便
  • c-namespace:通過構(gòu)造器進(jìn)行注入,需要在java類文件中加上有參構(gòu)造器和無參構(gòu)造器

Spring p-namespace和c-namespace用法

為什么要講Spring的 p-namespace,c-namespace

  • 對于簡單項(xiàng)目或代碼,可以起到簡化的作用
  • 加強(qiáng)對Spring新知識的學(xué)習(xí)
  • 學(xué)習(xí)就是了,哪來那么多為什么!

1、p-namespace

①又叫p-命名空間,

②它是什么意思呢?

首先這樣子講吧,以前我們寫bean的時候?yàn)槟硞€對象的屬性注入值有兩種方式,一種是有參構(gòu)造(constructor-arg),一種是通過(property標(biāo)簽為指定屬性注入值)

③而p正是property的首字母,所以它是干嘛的大家應(yīng)該可以猜得到了

④純粹上是為了簡化吧(個人認(rèn)為)

⑤我們直接上例子來學(xué)習(xí)吧

首先在使用p命名空間之前你需要在相應(yīng)的xml文件內(nèi)寫入一些支持配置信息

在這里插入圖片描述

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

項(xiàng)目結(jié)構(gòu)搭建好,還是上節(jié)筆記搭建的(傳送門在博文(個_個))

package com.ysj.study;
@SuppressWarnings("ALL")
public class HelloDemo1 {
    private String name;
    private int age;
    public HelloDemo1(){
        System.out.println("HelloDemo1的 無 參構(gòu)造");
    }
    public HelloDemo1(String name) {
        System.out.println("HelloDemo1的 有 參構(gòu)造");
        this.name = name;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
}

在這里插入圖片描述

測試類寫好

輸出看看結(jié)果

在這里插入圖片描述

這需要注意一下p標(biāo)簽后面的是屬性的名字,不是setter參數(shù)的名字?。。?!

2、c-namespace

①又叫c-命名空間,

②它是什么意思呢?

就是用來通過有參構(gòu)造為對象注入初始屬性值

③而c正是constructor-arg的首字母,所以它是干嘛的大家應(yīng)該也可以猜得到了

④純粹上是為了簡化吧(個人認(rèn)為)

⑤我們直接上例子來學(xué)習(xí)吧

首先在使用c命名空間之前你需要在相應(yīng)的xml文件內(nèi)寫入一些支持配置信息

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

在這里插入圖片描述

我們對上面HelloDemo類的有參構(gòu)造進(jìn)行一些修改

在這里插入圖片描述

修改為如下的beans.xml代碼

在這里插入圖片描述

輸出結(jié)果看看

我們把setter方法都去掉,發(fā)現(xiàn)還是可以運(yùn)行的,所以c-命名空間的用法和constructor-agr是一模一樣的

只需要注意下面的圖例就可以

c-namespace的拓展:

其實(shí)c-namespace除了通過參數(shù)名字來注入值以外,還可以通過參數(shù)索引來注入依賴值。如下

在這里插入圖片描述

輸出結(jié)果還是可以的

在這里插入圖片描述

關(guān)于p-namespacec-namespace的用法就這么多,慢慢吸收O(∩_∩)O哈哈~

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring Boot中Redis數(shù)據(jù)庫的使用實(shí)例

    Spring Boot中Redis數(shù)據(jù)庫的使用實(shí)例

    Spring Boot中除了對常用的關(guān)系型數(shù)據(jù)庫提供了優(yōu)秀的自動化支持之外,對于很多NoSQL數(shù)據(jù)庫一樣提供了自動化配置的支持。本篇文章主要介紹了Spring Boot中Redis的使用實(shí)例代碼,有興趣的開業(yè)了解一下。
    2017-04-04
  • java編譯器的基礎(chǔ)知識點(diǎn)

    java編譯器的基礎(chǔ)知識點(diǎn)

    在本篇文章里小編給大家整理的是一篇關(guān)于java編譯器的基礎(chǔ)知識點(diǎn)內(nèi)容,有興趣的朋友們可以閱讀下。
    2020-02-02
  • Netty分布式客戶端接入流程初始化源碼分析

    Netty分布式客戶端接入流程初始化源碼分析

    這篇文章主要介紹了Netty分布式客戶端接入流程初始化源碼分析,有關(guān)channelConfig有關(guān)的初始化過程剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-03-03
  • Java注解Annotation原理及自定義注解代碼實(shí)例

    Java注解Annotation原理及自定義注解代碼實(shí)例

    這篇文章主要介紹了Java注解Annotation原理及自定義注解代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • MyBatis-Plus 修改和添加自動填充時間方式

    MyBatis-Plus 修改和添加自動填充時間方式

    這篇文章主要介紹了MyBatis-Plus 修改和添加自動填充時間方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java數(shù)據(jù)結(jié)構(gòu)中雙向鏈表的實(shí)現(xiàn)

    Java數(shù)據(jù)結(jié)構(gòu)中雙向鏈表的實(shí)現(xiàn)

    這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)中雙向鏈表的實(shí)現(xiàn),雙向鏈表是一種常見的數(shù)據(jù)結(jié)構(gòu),它允許在鏈表中的任意位置進(jìn)行高效的插入和刪除操作,需要的朋友可以參考下
    2022-05-05
  • spring security與corsFilter沖突的解決方案

    spring security與corsFilter沖突的解決方案

    這篇文章主要介紹了spring security與corsFilter沖突的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • spring 整合kafka監(jiān)聽消費(fèi)的配置過程

    spring 整合kafka監(jiān)聽消費(fèi)的配置過程

    這篇文章主要介紹了spring 整合kafka監(jiān)聽消費(fèi)的配置過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Windows下如何安裝配置Redis環(huán)境

    Windows下如何安裝配置Redis環(huán)境

    這篇文章主要介紹了Windows下如何安裝配置Redis環(huán)境,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12
  • springboot mybatis調(diào)用多個數(shù)據(jù)源引發(fā)的錯誤問題

    springboot mybatis調(diào)用多個數(shù)據(jù)源引發(fā)的錯誤問題

    這篇文章主要介紹了springboot mybatis調(diào)用多個數(shù)據(jù)源引發(fā)的錯誤問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01

最新評論