Spring日常笔记记录03--设值注入的概念

一、di:依赖注入,表示创建对象,给属性赋值。

 

二、di的实现有两种:

1.在spring的配置文件中,使用标签和属性完成,叫做基于XML的di实现

2.使用spring中的注解,完成属性赋值,叫做基于注解的di实现

 

三、di语法分类:

1.set注入(设置注入):spring调用类的set方法,在set方法可以实现属性的赋值

   80%左右都是使用set注入

2.构造注入,spring调用类的有参数构造方法,创建对象。在构造方法中完成赋值

 

四、实现案例(重复步骤可以看String日常笔记记录01)

1.创建maven项目

2.加入maven的依赖

   spring的依赖,版本5.2.5

   junit依赖

3.创建类

package com.example.ba01;

public class Student {
    private String name;
    private int age;

    public void setName(String name) {
        System.out.println("setName:"+name);
        this.name = name;
    }

    public void setAge(int age) {
        System.out.println("setAge:"+age);
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

 

4.创建spring需要使用的配置文件(文件名命名:applicationContext.xml)

   声明类的信息,这些类由spring创建和管理

   通过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">

    <!--声明student对象
        注入:就是赋值的意思
        简单类型:spring中规定java的基本数据类型和string都是简单类型
        di:给属性赋值
        1.set注入(设值注入):spring调用类的set方法,可以在set方法中完成属性赋值
          1)简单类型的set注入
          <bean id="xx" class="yyy">
              <property name="属性名字" value="此属性的值"/>
              一个property只能给一个属性赋值
              <property......>
          </bean>
    -->
    <bean id="myStudent" class="com.example.ba01.Student">
        <property name="name" value="李四"/><!--setName("李四")-->
        <property name="age" value="20"/><!--setAge(20)-->
    </bean>


</beans>

 

5.测试spring创建的对象

    @Test
    public void test01(){
        String config = "ba01/applicationContext.xml";
        ApplicationContext ac = new ClassPathXmlApplicationContext(config);

        //从容器中获取Student对象
        Student myStudent = (Student) ac.getBean("myStudent");
        System.out.println("student对象="+myStudent);
    }

 

posted @ 2021-07-11 17:29  Brack_Pearl  阅读(94)  评论(0编辑  收藏  举报