专栏首页逆回十六夜spring di学习笔记
原创

spring di学习笔记

记录一下今天学习的笔记:

依赖注入有以下几种形式:

1.set注入

2.bean注入

3.常用数据结构注入

4.空注入

5.p命名空间注入

6.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 http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id ="addr" class="helloSpring.di.Address">
        <property name="addr" value="关山"></property>                <!--set注入,即无参构造函数调用set进行注入-->
    </bean>

    <bean id ="student" class="helloSpring.di.Student">
        <property name="name" value="陈浩南"></property>
        <property name="address" ref="addr"></property>               <!--bean注入-->
        <property name="books">
            <array>                                                   <!--list注入,对应String[] books-->
                <value>傲慢与偏见</value>
                <value>仲夏夜之梦</value>
                <value>雾都孤儿</value>
            </array>
        </property>
        <property name="hobbies">                                     <!--对应List<String> hobbies-->
            <list>
                <value>唱</value>
                <value>跳</value>
                <value>rap</value>
                <value>篮球</value>
            </list>
        </property>
        <property name="card">
            <map>                                                     <!--对应map<String,String> card-->
                <entry key="中国银行" value="123456789"></entry>
                <entry>
                    <key><value>建设银行</value></key>
                    <value>123456788</value>
                </entry>
            </map>
        </property>
        <property name="games">
            <set>                                                     <!--对应Set<String> games-->
                <value>lol</value>
                <value>dota</value>
                <value>cs</value>
                <value>wow</value>
            </set>
        </property>

        <property name="wife"><null></null></property>              <!--空注入,对应String wife-->

        <property name="info">                                      <!--对应Properties info-->
            <props>
                <prop key="学号">123</prop>
                <prop key="sex">男</prop>
            </props>
        </property>
    </bean>

    <bean id="user" class="helloSpring.di.User" p:name="陈浩南" p:password="hello">
                                                                <!--
                                                                p命名空间注入:
                                                                需要在头文件的命名空间添加
                                                                xmlns:p="http://www.springframework.org/schema/p"
                                                                属性要设置set方法
                                                                -->
    </bean>

    <bean id="user2" class="helloSpring.di.User" c:name="山鸡" c:password="nihao">
                                                                <!--
                                                                c命名空间注入:
                                                                需要在头文件的命名空间添加
                                                                xmlns:p="http://www.springframework.org/schema/c"
                                                                -->

    </bean>
</beans>

p命名空间和c命名空间其实都是对配置文件编写的简化,p即表示为属性,c表示为构造。

这两个注入形式都可以简化XML配置。

参考教程:https://www.bilibili.com/video/av27209155/?p=7

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • spring ioc创建对象学习笔记

    1.spring 在程序刚开始运行时就把对象创建好了,并且执行相应的构造函数,就算你从来没有应用该类,也同时给你把对象创建好了,如代码可见,Hello类被注释了...

    逆回十六夜
  • Java的类加载顺序实验

    显然执行的只有创建的User3执行了有参构造,User2和User1执行的都是无参构造,他们并没有自动调用父类的有参构造。

    逆回十六夜
  • javaWeb idea学习笔记(三)Servlet的配置

    当服务器接收到客户端浏览器的请求后,会解析请求的URL路径,获取访问的servlet资源路径

    逆回十六夜
  • Zookeeper + Hadoop2.6 集群HA + spark1.6完整搭建与所有参数解析

    yum install autoconfautomake libtool cmake

    用户3003813
  • jdbc连接Mysql报错“java.sql.SQLException: Incorrect string value:。。。”的解决办法

    产生这种异常的原因在于,mysql中的utf8编码最多会用3个字节存储一个字符,如果一个字符的utf8 编码占用4个字节(最常见的就是ios中的emoji表情...

    飞奔去旅行
  • hadoop ha搭建

    修改zoo.cfg,创建对应的目录,在data目录下创建myid文件,一切完毕后进行启动

    yiduwangkai
  • Spring - 通过SpEL为bean赋值(4)

    <property name = "prefix" value="#{prefixGenerator}"/>

    桑鱼
  • 大数据-Hadoop的使用指南

    1.x版本系列:hadoop版本当中的第二代开源版本,主要修复0.x版本的一些bug等

    cwl_java
  • Hadoop完全分布式安装

    完全分布式安装部署,其实步骤上来说与伪分布式没有太大的区别,主要增加2台虚拟机部署称为一个3台的集群

    我脱下短袖
  • hadoop-2.8.3 配置安装

    本文由 bytebye 创作 本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名

    ByteBye

扫码关注云+社区

领取腾讯云代金券