Spring IOC——依賴注入
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函式 鄭州引產手術費用多少錢
涉及的標籤: 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方法沒有執行。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69945560/viewspace-2673763/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- spring 詳細講解(ioc,依賴注入,aop)Spring依賴注入
- IOC容器和依賴注入依賴注入
- spring原始碼解析之IOC容器(三)——依賴注入Spring原始碼依賴注入
- 一文徹底弄懂Spring IOC 依賴注入Spring依賴注入
- Spring升級案例之IOC介紹和依賴注入Spring依賴注入
- 理解Spring中依賴注入(DI)與控制反轉(IoC)Spring依賴注入
- .NET IoC模式依賴反轉(DIP)、控制反轉(Ioc)、依賴注入(DI)模式依賴注入
- Spring 依賴注入 DISpring依賴注入
- spring 的依賴注入Spring依賴注入
- Spring IoC - 迴圈依賴Spring
- 淺析依賴倒轉、控制反轉、IoC 容器、依賴注入。依賴注入
- Spring.Net 依賴注入Spring依賴注入
- Spring系列.依賴注入配置Spring依賴注入
- 大白話spring依賴注入Spring依賴注入
- Spring原始碼分析(二)bean的例項化和IOC依賴注入Spring原始碼Bean依賴注入
- 詳解 Laravel 中的依賴注入和 IoCLaravel依賴注入
- Java:控制反轉(IoC)與依賴注入(DI)Java依賴注入
- PHP 控制反轉(IoC) 和 依賴注入(DI)PHP依賴注入
- C#中的依賴注入和IoC容器C#依賴注入
- Laravel 中的依賴注入和 IoC 實現Laravel依賴注入
- PHP 控制反轉(IOC)和依賴注入(DI)PHP依賴注入
- Spring的依賴注入的方式Spring依賴注入
- Spring學習(三)依賴注入Spring依賴注入
- spring框架學習 依賴注入Spring框架依賴注入
- 深入理解spring容器中的控制反轉(IOC)和依賴注入(DI)Spring依賴注入
- Spring Ioc原始碼分析系列--自動注入迴圈依賴的處理Spring原始碼
- 深入理解IoC(控制反轉)、DI(依賴注入)依賴注入
- SpringBoot啟動流程分析(六):IoC容器依賴注入Spring Boot依賴注入
- Spring IOC原始碼深度剖析:Spring IoC迴圈依賴問題Spring原始碼
- Spring原始碼解析——依賴注入(二)Spring原始碼依賴注入
- Spring 控制反轉和依賴注入Spring依賴注入
- 死磕Spring原始碼-依賴注入Spring原始碼依賴注入
- Spring系列第八講 依賴注入之手動注入Spring依賴注入
- OOD、DIP、IOC、DI、依賴注入容器(即 控制反轉容器,IOC Container)依賴注入AI
- php實現依賴注入(DI)和控制反轉(IOC)PHP依賴注入
- 深入理解控制反轉(IoC)和依賴注入(DI)依賴注入
- 8.(轉)控制反轉(IoC)與依賴注入(DI)依賴注入
- CommunityToolkit.Mvvm8.1 IOC依賴注入控制反轉(5)UnityMVVM依賴注入