具有字符串值的构造函数参数如何传递给接受整数的构造函数?

how does a constructor-arg having value as String passed to the Constructor accepting Integer?

我正在构建一个 Spring 应用程序项目,它使用 Spring DI(构造函数注入)来注入对象。 有一个学生 class -

public class Student {
       private int id;

并且有构造函数

public Student(int id)
{this.id = id; }

我正在像这样使用构造函数注入来注入对象 ---

<constructor-arg name="id" value="1"/>

现在,这里值 (1) 作为 String 传递,但构造函数接受 int 。 我不知道 Spring 是怎么做到的。是简单的类型转换还是其他?

Spring 完成这项工作,下面是 spring 文档中的注释。

以下是 spring 文档中的文本:

4.Each 属性 或作为值的构造函数参数必须能够从指定的任何格式转换为该 属性 或构造函数参数的实际类型.默认情况下 Spring 可以将以字符串格式提供的值转换为所有内置类型,例如 int、long、String、boolean 等

Spring 这样做。以下注释来自spring documentation.

Each property or constructor argument which is a value must be able to be converted from whatever format it was specified in, to the actual type of that property or constructor argument. By default Spring can convert a value supplied in string format to all built-in types, such as int, long, String, boolean, etc.