溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

spring中的依賴注入的簡(jiǎn)單介紹

發(fā)布時(shí)間:2021-09-14 14:51:23 來(lái)源:億速云 閱讀:134 作者:chen 欄目:編程語(yǔ)言

本篇內(nèi)容主要講解“spring中的依賴注入的簡(jiǎn)單介紹”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“spring中的依賴注入的簡(jiǎn)單介紹”吧!

  spring中的依賴注入

  IOC作用:降低程序間的耦合(依賴關(guān)系)

  依賴關(guān)系的管理:交給spring來(lái)維護(hù)(在當(dāng)前類(lèi)需要用到其他類(lèi)的對(duì)象,由spring為我們提供,我們只需要在配置文件中說(shuō)明)

  依賴關(guān)系的維護(hù):依賴注入

  依賴注入:

  能注入的數(shù)據(jù):

  基本類(lèi)型和String

  其他bean類(lèi)型(在配置文件中或者注解配置過(guò)的bean)

  復(fù)雜類(lèi)型/集合類(lèi)型

  bean對(duì)象 注入的方式:

  使用構(gòu)造函數(shù)

  使用set函數(shù)

  使用注解

  使用構(gòu)造函數(shù)

  構(gòu)造函數(shù)往入: |

  使用的標(biāo)簽:constructor- arg

  標(biāo)簽出現(xiàn)的位置: bean標(biāo)簽的內(nèi)部

  標(biāo)簽中的屬性

  type:用于指定要注入的數(shù)據(jù)的數(shù)據(jù)類(lèi)型,該數(shù)據(jù)類(lèi)型也是構(gòu)造函數(shù)中某個(gè)或某些參數(shù)的類(lèi)型

  index:用于指定要注入的數(shù)據(jù)給構(gòu)造函數(shù)中指定索引位置的參數(shù)賦值。索引的位置是從e開(kāi)始

  name:用于指定給構(gòu)造函數(shù)中指定名稱的參數(shù)賦值常用的

  =========以上三個(gè)用于指定給構(gòu)造函數(shù)中哪個(gè)參效賦值

  value: 用于提供基本類(lèi)型和String類(lèi)型的數(shù)據(jù)

  ref:用于指定其他的bean類(lèi)型數(shù)據(jù)。它指的就是在spring的Ioc核心容器中出現(xiàn)過(guò)的

  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("方法創(chuàng)建成功了");

  }

  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());

  }

  }

  總結(jié):

  優(yōu)勢(shì):在獲取bean對(duì)象時(shí),注入數(shù)據(jù)是必須的操作,否則對(duì)象無(wú)法創(chuàng)建成功。

  弊端:改變了bean對(duì)象的實(shí)例化方式,使我們?cè)趧?chuàng)建對(duì)象時(shí),如果用不到這些數(shù)據(jù),也必須提供。

  使用set函數(shù)鄭州引產(chǎn)手術(shù)費(fèi)用多少錢(qián) https://yiyuan.120ask.com/art/307587.html

  涉及的標(biāo)簽: property

  出現(xiàn)的位置: bean標(biāo)簽的內(nèi)部

  標(biāo)簽的屬性

  name:用于指定往入時(shí)所調(diào)用的set方法名稱

  value: 用于提供基本類(lèi)型和String類(lèi)型的數(shù)據(jù)

  ref:用于指定其他的bean類(lèi)型數(shù)據(jù)。它指的就是在spring的Ioc核心容器中出現(xiàn)過(guò)的bean對(duì)象

  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("方法創(chuàng)建成功了");

  }

  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=">

  總結(jié):

  優(yōu)勢(shì):創(chuàng)建對(duì)象時(shí)沒(méi)有明確的限制,可以直接使用默認(rèn)構(gòu)造函數(shù)

  弊端:如果有某個(gè)成員必須有值,則獲取對(duì)象是有可能set方法沒(méi)有執(zhí)行。

到此,相信大家對(duì)“spring中的依賴注入的簡(jiǎn)單介紹”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI