spring中构造函数注入
Posted llguanli
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring中构造函数注入相关的知识,希望对你有一定的参考价值。
spring中构造函数注入,简单来说,就是通过beans.xml中,设置对应的值。而且通过bean类中的构造函数进行注入这些值。
文件结构
Goods类
package com.test.innerbean; public class Goods { private String goodsName; private int price; public Goods(String name,int price) { goodsName=name; this.price=price; } public void say() { System.out.println("goodsname:"+goodsName+" price:"+price); } }
beans.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-2.5.xsd"> <bean id="goods" class="com.test.innerbean.Goods"> <constructor-arg value="茶杯"></constructor-arg> <constructor-arg value="12"></constructor-arg> </bean> </beans>
測试类
package com.test.innerbean; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.core.io.ClassPathResource; public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub BeanFactory factory=new XmlBeanFactory(new ClassPathResource("com/test/innerbean/beans.xml")); Goods goods=(Goods)factory.getBean("goods"); goods.say(); } }
输出结果
我们可以看到。可以产生Goods类的一个实例,而且对这个实例进行输出測试。发现也的确获得了对应的值。
以上是关于spring中构造函数注入的主要内容,如果未能解决你的问题,请参考以下文章
Spring基础篇(8)-Spring构造函数注入—实现子类的动态注入
踩坑:Spring静态变量/构造函数注入失败(注入为null)问题的解决方案