java js 注入_spring构造函数注入方式详解|Constructor注入

在依赖注入中有一个spring构造器注入方式,它是在的子标签里面的,spring构造函数中的参数有基本类型,对象类型,collection集合,map类型等等,下面的案例以注入基本类型参数为例。

我们将创建如下这三个类,用来学习spring的构函数注入,如下:

Employee.java

applicationContext.xml

Test.java

1:新建一个Employee员工实体类,实体类中有4个构造函数与一个普通方法,如下。package com.tpyyes;

public class Employee {

private int id;

private String name;

public Employee() {System.out.println("def cons");}

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

public Employee(String name) {  this.name = name;}

public Employee(int id, String name) {

this.id = id;

this.name = name;

}

public void show(){

System.out.println(id+" "+name);

}

}

2:新建applicationContext.xml文件,配置构造器注入bean,用于spring构造函数注入,constructor-arg元素表示将调用构造函数,type="int"表示调用的是参数为int的构造函数,value属性表示给该构造函数设置值,如下。<?xml  version="1.0" encoding="UTF-8"?>

xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:p="http://www.springframework.org/schema/p"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">

3:新建Test.java类,用于测试我们给public Employee(int id)这个构造函数设置的值是否成功,并且能够成功调用show()方法,代码如下。package com.tpyyes;

import org.springframework.beans.factory.BeanFactory;

import org.springframework.beans.factory.xml.XmlBeanFactory;

import org.springframework.core.io.*;

public class Test {

public static void main(String[] args) {

Resource res=new ClassPathResource("applicationContext.xml");

BeanFactory factory=new XmlBeanFactory(res);

Employee s=(Employee)factory.getBean("emp");

s.show();

}

}

Output输出如下字符串:10 null

注释:如果没有指定type类型,则默认调用参数为string字符串类型的构造函数,调用的是这个构造函数public Employee(String name),如下:....

....

Output输出结果:0 张三

如果想调用public Employee(int id, String name)这个有两个参数的构造函数,可以在constructor-arg元素里面加入参数,代码如下:....

....

Output输出结果:10 张三

完毕!

如果对小编有什么建议或意见,可以加入微信公众号:太平洋学习网,与小编一起成长。

来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/javaweb/429.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值