构造器实例化是Spring容器通过Bean对应类中的无参构造方法来实例化Bean。
(系统默认提供无参构造方法)
下面用一个例子来演示如何实现构造器实例化
一、创建动态项目,导jar包
二、在src目录下,创建com.itheima.instance.constructor包,并创建Bean1类。
系统提供无参构造方法,如果写入有参构造方法,系统不会再提供隐式无参构造方法。
package com.itheima.instance.constructor;
public class Bean1 {
}
三、再同一目录下,创建Spring的配置文件bean1.xml
右键Beans1文件拷贝全名称
<?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="bean1" class="com.itheima.instance.constructor.Bean1"/>
</beans>
四、再同一目录下,创建测试类
package com.itheima.instance.constructor;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class InstanceTest1 {
public static void main(String[] args) {
//定义配置文件路径
String xmlPath = "com/itheima/instance/constructor/beans1.xml";
//ApplicationContext在加载配置文件时,对Bean进行实例化
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);
Bean1 bean = (Bean1) applicationContext.getBean("bean1");
System.out.println(bean);
}
}
运行结果
输出隐式调用了toString()方法,结果为Bean1类全名+地址的哈希值