Spring笔记7--构造函数通过不同方式值注入

我的所有spring笔记大集锦
Spring5入门知识整合(持续更新)

在之前的所有笔记里面,我只介绍过最单一的一种注入属性的方法,那就是通过属性标签的name对对象相应属性进行值注入,但对有参构造而言是存在不同注入方式,下面一一归纳下

emm相信学到这里的同学,一些基本的 项目模板创建,bean文件创建,应该会了吧(不累赘

(一切基于maven项目创建模板)
我这里创建了名为Spring-001的模板
在resources文件夹下创建beans.xml文件
并在beans.xml下导入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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd">

</beans>

在蓝色java文件夹下创建com.ysj.study包,在该包下创建User类。写入如下代码

package com.ysj.study;

public class User {
    
    

    private String name;
    private int age;
    private double money;

    public User(){
    
    }
    
    public User(String name, int age, double money) {
    
    
        this.name = name;
        this.age = age;
        this.money = money;
    }

    public String getName() {
    
    
        return name;
    }

    public void setName(String name) {
    
    
        this.name = name;
    }

    public int getAge() {
    
    
        return age;
    }

    public void setAge(int age) {
    
    
        this.age = age;
    }

    public double getMoney() {
    
    
        return money;
    }

    public void setMoney(double money) {
    
    
        this.money = money;
    }

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



在绿色java下创建myTest类
以下是我的结构示意图
在这里插入图片描述

1、有参构造通过name进行值注入

在这里插入图片描述

通过name约束来根据有参构造方法的参数名称进行值注入
在这里插入图片描述

2、有参构造通过type进行值注入

如果某些时候你把参数名称定义的过长,怕写错等乱七八糟的烦恼,那么你可以通过对相关参数类型定位来进行对象值的注入(参数方向是从左到右

在这里插入图片描述
八大基础类型:byte,short,int,long,float,double,char,boolean

输出结果
在这里插入图片描述

3、通过构造方法的参数序号索引进行值注入

在这里插入图片描述
参数方向从左至右,下标从0开始,用index关键字索引
在这里插入图片描述
输出结果
在这里插入图片描述
其实最常用的我觉得还是name吧(不谈注解情况下)

4、小结

1、name:通过有参构造方法参数名称进行值注入
2、type:通过有参构造方法参数类型进行值注入
3、index:通过有参构造方法参数序号索引进行值注入

猜你喜欢

转载自blog.csdn.net/YSJ367635984/article/details/113384703