Spring依赖注入

依赖注入

Dependency Injection

IOC的作用

降低程序间的耦合(依赖关系)

依赖关系的管理

都交给spring来维护

在当前类需要用到其他类的对象,由spring为我们提供,我们只需要在配置文件中说明

依赖关系的维护,就称之为依赖注入

注入的方式:有三种

第一种:使用构造函数提供

使用的标签:constructor-arg

在这里插入图片描述

标签中的属性

  • name: 用于指定给构造函数中指定名称的参数赋值【常用】
  • type: 用于指定要注入的数据的数据类型,该数据类型也是构造函数中某个或某些参数的类型
  • index:用于指定要注入的数据给构造函数中指定索引位置的参数赋值。索引的位置是从0开始

  • value:用于提供基本类型和String类型的数据
  • ref:用于指定其他的bean类型数据。它指的就是在spring的Ioc核心容器中出现过的bean对象

**优势:**在获取bean对象时,注入数据是必须的操作,否则对象无法创建成功

**劣势:**改变了bean对象的实例化方式,使我们在创建对象时,如果用不到这些数据,也必须提供
在这里插入图片描述

package com.compance.spring02.service.impl;


import com.compance.spring02.service.IAccountService;

import java.util.Date;

/**
 * 账户的业务层实现类
 */
public class AccountServiceImpl implements IAccountService {
   
	// 举例使用
    private String name;
    private Integer age;
    private Date birthday;

    public AccountServiceImpl(String name, Integer age, Date birthday) {
   
        this.name = name;
        this.age = age;
        this.birthday = birthday;
    }

    public void  saveAccount(){
   
        System.out.println("service中的saveAccount执行了"+name+","+age+","+birthday);
    }

}

<!--spring依赖注入-->
<bean id="accountService" class="com.compance.spring02.service.impl.AccountServiceImpl" scope="prototype">
    <!--<constructor-arg type="java.lang.String" value="Tom"></constructor-arg>-->
    <constructor-arg name="name" value="Lisa"></constructor-arg>
    <constructor-arg name="age" value="20"></constructor-arg>
	<constructor-arg name="birthday" ref="now"></constructor-arg>
</bean>
<!-- 配置一个日期对象 -->
<bean id="now" class="java.util.Date"></bean>

    public s
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值