依赖注入之构造注入

创建构造方法

package com.dependency.spring6.service;

import com.dependency.spring6.dao.UserDao;
import com.dependency.spring6.dao.VipDao;

public class CustomerService {
    private UserDao userDao;
    private VipDao vipDao;

    public CustomerService(UserDao userDao, VipDao vipDao) {
        this.userDao = userDao;
        this.vipDao = vipDao;
    }
    public void save(){
        userDao.insert();
        vipDao.insert();
    }
}

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.xsd">
    <bean id="xxxx" class="com.dependency.spring6.dao.UserDao"/>
    <bean id="yyyy" class="com.dependency.spring6.dao.VipDao"/>
    <bean id="csBean" class="com.dependency.spring6.service.CustomerService">
        <!--构造注入-->
        <!--指定构造方法的第一个参数 下标是0-->
        <constructor-arg index="0" ref="xxxx"/>
        <!--指定构造方法的第二个参数 下标是1-->
        <constructor-arg index="1" ref="yyyy"/>
    </bean>
</beans>

测试类进行测试

@Test
public void testConstructor(){
    ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
    CustomerService csBean = applicationContext.getBean("csBean", CustomerService.class);
    csBean.save();
}

测试成功

这个里面也可以使用名字注入,就是把index后面跟着的下标换成具体的名字,也是可行的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值