赞
赏
运用 Spring IOC 注入方式中的带参数构造函数,给对象属性赋值。
搭建 Spring 的开发环境,运用 Spring IOC 注入方式中的带参数构造函数,给对象属性赋值。
pom.xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>net.haicoder</groupId>
<artifactId>SpringDemo03</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<!--添加Spring核心容器支持包-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.7.RELEASE</version>
</dependency>
</dependencies>
</project>
核心配置文件:
<?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">
<!--参数详解
index: 参数位置索引值,从0开始。
name: 参数名就是构造方法形式参数的名称。
type: 根据参数类型来赋值。
value: 直接赋值,值是基本类型。
ref: 对引用类型进行注入,而且该注入的对象必须是IOC容器中的另一个bean对象。
-->
<bean id="person" class="net.haicoder.entity.Person">
<constructor-arg index="0" name="id" type="java.lang.Integer" value="1001"/>
<constructor-arg index="1" name="name" type="java.lang.String" ref="nameStr"/>
</bean>
<!--
定义一个String的bean对象
-->
<bean id="nameStr" class="java.lang.String">
<constructor-arg index="0" value="HaiCoder"/>
</bean>
</beans>
实体类:
public class Person {
private Integer id;
private String name;
public Person() {
}
public Person(Integer id, String name) {
this.id = id;
this.name = name;
}
@Override
public String toString() {
return "Person{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
测试类:
public class Test {
public static void main(String[] args) {
System.out.println("嗨客网(www.haicoder.net)\n");
// 通过配置文件获取Spring的IOC容器
ApplicationContext act = new ClassPathXmlApplicationContext("applicationContext.xml");
// 从IOC容器中获取对象
Person person = (Person) act.getBean("person");
System.out.println(person);
}
}
运行结果,如下图:
以上案例运用 Spring IOC 注入方式中的带参数构造函数,给对象属性赋值。