Spring的IOC依賴注入例項

2022-09-24 02:15:10 字數 2329 閱讀 2500

操作步驟:

1.將所有的類在beans.xml 中建立

2.對有依賴的類完成注入

2.1.為每乙個依賴類建立相應的getter和setter 方法

2.2.建構函式注入

2.3.自動注入(不常用)

開發中一般都是使用byname。

autowire="default",byname:根據名稱來注入(setuserdao,名稱為userdao);

bytype:根據型別注入(存在多個相同型別的物件就會丟擲異常,不知道要注入那個);no:不注入。

雖然自動注入可以減少配置,但是通過bean檔案無法很好的了解整個類的結果,所以不建議使用autowire。

2.4.屬性注入

1111

2222

3333

3.單例和多例(預設是單例)

3.1.當屬性值的狀態不會發生變化的時候我們用單例。(如:dao,service)

3.2.對於action而言,裡面的屬性值得狀態會根據不同的執行緒得到不同的值,所以應該使用多例(action)。

beans.xml

<?xml version="1.0" encoding="utf-8"?>

user.class

package com.spring.model;

public class user

private int id;

private string username;

public int getid()

public void setid(int id)

public string getusername()

public void setusername(string username)

@override

public string tostring()

public user(int id, string username)

}iuserdao.class

package com.spring.dao;

import com.spring.model.user;

public inte***ce iuserdao

userdao.class

package com.spring.dao;

import com.spring.model.user;

public class userdao implements iuserdao

@override

public user load(int id)

@override

public void add(user user)

}server層類似於dao層,此處省略......

useraction.class

package com.spring.action;

import com.spring.model.user;

import com.spring.service.iuserservice;

public class useraction

public void setuser(user user)

public iuserservice getuserservice()

public void setuserservice(iuserservice userservice)

public int getid()

public void setid(int id)

public void add()

public void delete()

public void load()

}testspring.calss

package com.spring.test;

import org.junit.test;

import org.springframework.beans.factory.beanfactory;

import org.springframework.context.support.classpathxmlapplicationcontext;

import com.spring.action.useraction;

import com.spring.model.helloworld;

import com.spring.model.user;

public class testspring

@test

public void testuser()

}執行結果:

新增了user [id=1, username=我叫spring]

專案結構圖:

spring 之 ioc 依賴注入

關於bean的名稱,這裡有條預設的規則,就是類的名稱,然後第乙個字母小寫 依賴注入 xml方式 通過setter方法注入依賴 元素的 property 子元素指明了使用它們的set方法來注入。可以注入任何東西,從基本型別到集合類,甚至是應用系統的bean。這種方式的缺點是你無法在其它地方重用這個pe...

Spring 學習筆記 IOC 依賴注入

簡述 spring 學習 ioc 依賴注入 1 直接使用原始類建立bean 2 使用工廠方法建立bean 3 使用工廠類建立bean 1 setter injection 2 constructor injection 建構函式注入 1 inner beans 2 collections map 3...

Spring 依賴注入(IoC) 控制反轉

依賴注入 dependecy injection 和控制反轉 inversion of control 是同乙個概念,具體的講 當某個角色需要另外乙個角色協助的時候,在傳統的程式設計過程中,通常由呼叫者來建立被呼叫者的例項。但在spring中 建立被呼叫者的工作不再由呼叫者來完成,因此稱為控制反轉。...