温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

spring中的依赖注入的简单介绍

发布时间:2021-09-14 14:51:23 来源:亿速云 阅读:140 作者:chen 栏目:编程语言

本篇内容主要讲解“spring中的依赖注入的简单介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“spring中的依赖注入的简单介绍”吧!

  spring中的依赖注入

  IOC作用:降低程序间的耦合(依赖关系)

  依赖关系的管理:交给spring来维护(在当前类需要用到其他类的对象,由spring为我们提供,我们只需要在配置文件中说明)

  依赖关系的维护:依赖注入

  依赖注入:

  能注入的数据:

  基本类型和String

  其他bean类型(在配置文件中或者注解配置过的bean)

  复杂类型/集合类型

  bean对象 注入的方式:

  使用构造函数

  使用set函数

  使用注解

  使用构造函数

  构造函数往入: |

  使用的标签:constructor- arg

  标签出现的位置: bean标签的内部

  标签中的属性

  type:用于指定要注入的数据的数据类型,该数据类型也是构造函数中某个或某些参数的类型

  index:用于指定要注入的数据给构造函数中指定索引位置的参数赋值。索引的位置是从e开始

  name:用于指定给构造函数中指定名称的参数赋值常用的

  =========以上三个用于指定给构造函数中哪个参效赋值

  value: 用于提供基本类型和String类型的数据

  ref:用于指定其他的bean类型数据。它指的就是在spring的Ioc核心容器中出现过的

  xmlns:xsi="

  xsi:schemaLocation="

  package com.ay.service;

  public interface AccountService {

  public void saveAccount();

  }

  package com.ay.service.impl;

  import com.ay.service.AccountService;

  import java.util.Date;

  public class AccountServiceImpl implements AccountService {

  private String name;

  private Integer age;

  private Date birthday;

  @Override

  public void saveAccount() {

  System.out.println("方法创建成功了");

  }

  public AccountServiceImpl(String name, Integer age, Date birthday) {

  this.name = name;

  this.age = age;

  this.birthday = birthday;

  }

  @Override

  public String toString() {

  return "AccountServiceImpl{" +

  "name='" + name + '\'' +

  ", age=" + age +

  ", birthday=" + birthday +

  '}';

  }

  }

  package com.ay.ui;

  import com.ay.service.AccountService;

  import org.springframework.context.ApplicationContext;

  import org.springframework.context.support.ClassPathXmlApplicationContext;

  public class Client {

  public static void main(String[] args) {

  ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");

  AccountService as = (AccountService)ac.getBean("accountService");

  as.saveAccount();

  System.out.println(as.toString());

  }

  }

  总结:

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

  弊端:改变了bean对象的实例化方式,使我们在创建对象时,如果用不到这些数据,也必须提供。

  使用set函数郑州引产手术费用多少钱 https://yiyuan.120ask.com/art/307587.html

  涉及的标签: property

  出现的位置: bean标签的内部

  标签的属性

  name:用于指定往入时所调用的set方法名称

  value: 用于提供基本类型和String类型的数据

  ref:用于指定其他的bean类型数据。它指的就是在spring的Ioc核心容器中出现过的bean对象

  package com.ay.service;

  public interface AccountService {

  public void saveAccount();

  }

  package com.ay.service.impl;

  import com.ay.service.AccountService;

  import java.util.Date;

  public class AccountServiceImpl implements AccountService {

  private String name;

  private Integer age;

  private Date birthday;

  @Override

  public void saveAccount() {

  System.out.println("方法创建成功了");

  }

  public void setName(String name) {

  this.name = name;

  }

  public void setAge(Integer age) {

  this.age = age;

  }

  public void setBirthday(Date birthday) {

  this.birthday = birthday;

  }

  @Override

  public String toString() {

  return "AccountServiceImpl{" +

  "name='" + name + '\'' +

  ", age=" + age +

  ", birthday=" + birthday +

  '}';

  }

  }

  package com.ay.ui;

  import com.ay.service.AccountService;

  import org.springframework.context.ApplicationContext;

  import org.springframework.context.support.ClassPathXmlApplicationContext;

  public class Client {

  public static void main(String[] args) {

  ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");

  AccountService as = (AccountService)ac.getBean("accountService");

  as.saveAccount();

  System.out.println(as.toString());

  }

  }

  xmlns:xsi=

  xsi:schemaLocation=">

  总结:

  优势:创建对象时没有明确的限制,可以直接使用默认构造函数

  弊端:如果有某个成员必须有值,则获取对象是有可能set方法没有执行。

到此,相信大家对“spring中的依赖注入的简单介绍”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI