IOC操作Bean管理XML方式
目录
有参构造注入属性
(1)步骤(创建类,定义属性,创建属性对应的有参构造方法):
(2)步骤:在Spring 的xml配置文件中进行配置
(3)步骤:进行测试
结果:
有参构造注入属性
(1)步骤(创建类,定义属性,创建属性对应的有参构造方法):
创建一个订单类Orders:
Orders类内写入属性以及属性的有参构造方法:
package com.lbj.spring5;/***订单类* 使用有参构造注入属性*/
public class Orders {//属性private String oname;private String address;//有参构造方法public Orders(String oname, String address) {this.oname = oname;this.address = address;}//测试方法public void ordersTest(){System.out.println(oname+"::"+address);}
}
(2)步骤:在Spring 的xml配置文件中进行配置
<?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"><!--有参构造函数注入属性--><!--配置Orders对象创建--><!--com.lbj.spring5.Orders写完后会发现报错,原因是默认找的是无参构造方法,但是Orders类里面的有参构造方法已经覆盖无参构造方法--><bean id="orders" class="com.lbj.spring5.Orders"><!--但是当加入<constructor-arg>标签后报错就会消失,因为这里规定了是从有参构造方法里面找属性--><constructor-arg name="oname" value="编程大神"></constructor-arg><constructor-arg name="address" value="北京"></constructor-arg></bean>
</beans>
也可以用索引的方式实现,效果一样
<constructor-arg index="0" value="编程大神"></constructor-arg>
<constructor-arg index="1" value="北京"></constructor-arg>
(3)步骤:进行测试
package com.lbj.spring5.testdemo;import com.lbj.spring5.Orders;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;@Testpublic void testOrders(){//1.加载spring配置文件ApplicationContext context=new ClassPathXmlApplicationContext("bean1.xml");//2.获取配置创建的对象,通过context得到对象Orders orders=context.getBean("orders", Orders.class);//3.做输出System.out.println(orders);//4.通过orders调用ordersTest方法orders.ordersTest();}
}
结果: