三IOC操作Bean管理

Posted 上善若水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三IOC操作Bean管理相关的知识,希望对你有一定的参考价值。

1.什么是Bean管理

  • Bean管理指的是两个操作
  • Spring创建对象
  • Spring注入属性

2.Bean管理操作有两种方式

  • 基于xml配置文件方式实现
  • 基于注解方式实现

IOC操作Bean管理(基于xml方式)

  1. 基于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"   
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">   
        <!-- 配置User对象创建 -->   
        <bean id="user" class="com.deewinkg.spring5.User"></bean>   
    </beans>
    
    • 在Spring配置文件中,使用bean标签,标签里面添加对应属性,就可以实现对象创建
    • 在bean标签有很多属性,介绍常用到的属性
      • id属性:唯一标识
      • class属性:类全路径(包类路径)
    • 创建对象时候,默认也是执行无参数构造方法完成对象创建
  2. 基于xml方式注入属性

    • DI:依赖注入,就是注入属性
  3. 第一种注入方式:使用set方式进行注入

    • 创建类,定义属性和对应的set方法
    package com.deewinkg.spring5;   
       
    /**  
     * 演示使用 set 方法进行注入属性  
     */   
    public class Book {   
        // 创建属性   
        private String bname;   
        private String bauthor;   
        // 创建属性对应的 set 方法   
        public void setBname(String bname) {   
            this.bname = bname;   
        }   
       
        public void setBauthor(String bauthor) {   
            this.bauthor = bauthor;   
        }   
    }  
    
    • 在spring配置文件配置对象创建,配置属性注入
    <?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 http://www.springframework.org/schema/beans/spring-beans.xsd">   
        <!-- set 方法注入属性 -->   
        <bean id="book" class="com.deewinkg.spring5.Book">   
            <!--   
             使用 property 完成属性注入   
             name:类里面属性名称   
             value:向属性注入的值   
            -->   
            <property name="bname" value="易筋经"/>   
            <property name="bauthor" value="达摩祖师"/>   
        </bean>   
    </beans>  
    
  4. 第二种注入方式:使用有参数构造进行注入

    • 创建类,定义属性,创建属性对应有参数构造方法
    package com.deewinkg.spring5;   
    /**  
     * 使用有参数构造注入  
     */   
    public class Orders {   
        // 属性   
        private String oname;   
        private String address;   
        // 有参构造方法   
        public Orders(String oname, String address) {   
            this.oname = oname;   
            this.address = address;   
        }   
    }  
    
    • 在spring配置文件中进行配置
    <?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 http://www.springframework.org/schema/beans/spring-beans.xsd">   
        <!-- 有参数构造注入属性 -->   
        <bean id="orders" class="com.deewinkg.spring5.Orders">   
            <constructor-arg name="oname" value="电脑"></constructor-arg>   
            <constructor-arg name="address" value="中国"></constructor-arg>   
        </bean>   
    </beans>  
    
  5. p 名称空间注入(了解)

    • 使用P名称空间注入,可以简化基于xml配置方式

      第一步 添加P名称空间在配置文件中

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

      第二步 进行属性注入,在bean标签里面进行操作

      <?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"   
             xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">   
          <!-- set 方法注入属性 -->   
          <bean id="book" class="com.deewinkg.spring5.Book" p:bname="九阳神功" p:bauthor="无名氏"></bean>   
      </beans>  
      

以上是关于三IOC操作Bean管理的主要内容,如果未能解决你的问题,请参考以下文章

Spring5学习笔记 — “IOC操作Bean管理(基于注解)”

Spring5学习笔记 — “IOC操作Bean管理(基于注解)”

十IOC操作Bean管理(基于注解方式)

十IOC操作Bean管理(基于注解方式)

五IOC操作Bean管理(FactoryBean)

五IOC操作Bean管理(FactoryBean)