zoukankan      html  css  js  c++  java
  • 【Spring 从0开始】IOC容器的Bean管理

    Bean 管理其实就是指spring 的2个操作:创建对象、注入属性。

    创建对象在之前的文章里都有操作过,那这个注入属性也很好理解。
    比如类有一个属性private String userName;,如果我要对这个属性设值,那么这个类可以提供 set() 方法,以供调用。
    而这个过程,现在也交由 spring 管理,叫做注入属性。

    spring 对于 Bean 管理有两种方式:基于XML配置文件方式、基于注解方式,本篇为基于XML配置文件方式。

    一、创建对象

    1). 在配置文件里通过 bean 标签来创建。

    2). 这里有2个属性:

    • id:这个指对象的别名,通过这个名字可以获取到对象。
    • class:要创建的对象所在类全路径,比如图里的"com.pingguo.spring5.User"

    3). 在创建对象的时候,默认执行无参构造方法。

    二、注入属性

    也叫 DI,依赖注入。这个需要在创建对象的基础之上来完成。

    1). 使用set方法注入

    有了 set 方法后,现在可以在 XML 配置文件里注入属性的值,通过 property 标签:

    • name:类的属性名称
    • value:要注入的值

    测试一下效果,我在 Book 类里新增一个 testBook() 方法,打印出注入的 bookName 的值,然后在测试函数里调用。

    运行结果:

    2). 通过有参数构造注入

    我直接修改了之前的示例代码,定义好类的属性,以及对应的有参构造方法后,可以在配置文件里进行注入。
    使用 constructor-arg 标签:

    • name:类的属性名称
    • value:要注入的值

    再次执行测试代码,查看结果是正确的。

    3). 注入空值null

    如果要给熟悉注入空值null,可以这样写:

    运行后的结果:

    4). 注入特殊符号

    如果我要注入带有特殊符号的值,比如<<把苹果咬哭的测试笔记>>,要使用<![CDATA[]]>

    --不要用肉体的勤奋,去掩盖思考的懒惰--
  • 相关阅读:
    *Reverse Linked List II
    *Insertion Sort List
    Convert Sorted List to Binary Search Tree
    Reverse Integer
    read cache return null
    纳秒和随机数
    libthread_db
    gdb
    tls session resumption
    http://www.linux-commands-examples.com/xmllint
  • 原文地址:https://www.cnblogs.com/pingguo-softwaretesting/p/14942947.html
Copyright © 2011-2022 走看看