zoukankan      html  css  js  c++  java
  • spring命名空间注入

    在spring中,可以通过namespace命名空间注入属性

    首先,需要在beans中引入下面两行代码

    命名空间属性注入

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

    命名空间构造函数注入
    xmlns:c="http://www.springframework.org/schema/c"

    然后,我们在bean中只需要通过c:_0,c:_....注入构造函数

    c:_0,c:_1,c_2,c_3  构造函数的第几个参数

    <bean id="dataSource" class="com.namespace.DataSource" 
    c:_0
    ="jdbc:mysql://localhost:3306/empdb"
    c:_1
    ="com.mysql.jdbc.Driver"
    c:_2
    ="root"
    c:_3
    ="root"> </bean>

    通过p:属性名-ref或者p:属性名-value注入属性

    <bean id="sqlFactory" class="com.namespace.SqlFactory" 
    c:_0-ref="dataSource" 
    p:dataSource-ref="dataSource" 
    p:name="小米">
    
    </bean>

    完整xml代码参考:

    <?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 http://www.springframework.org/schema/beans/spring-beans.xsd">
      <!--注入的时候就可以通过c:_0.....注入构造函数-->
      <!--通过p:属性名-ref或者p:属性名-value注入属性-->
       <bean id="dataSource" class="com.namespace.DataSource" 
        c:_0
    ="jdbc:mysql://localhost:3306/empdb"
        c:_1
    ="com.mysql.jdbc.Driver"
        c:_2
    ="root"
        c:_3
    ="root"> </bean> <bean id="sqlFactory" class="com.namespace.SqlFactory"
      c:_0-ref
    ="dataSource"
      p:dataSource-ref
    ="dataSource"
      p:name
    ="小米"> </bean> </beans>
  • 相关阅读:
    求斐波那契数列的第n项
    八大经典排序算法
    [BZOJ 3083] 遥远的国度
    [BZOJ 3306] 树
    [SCOI 2010] 序列操作
    [AHOI 2013] 差异
    [USACO2006 DEC] Milk Patterns
    [JSOI 2007] 字符加密
    [BZOJ 2588] Count on a tree
    [NOIP 2018 Day1] 简要题解
  • 原文地址:https://www.cnblogs.com/liweixml/p/11788562.html
Copyright © 2011-2022 走看看