五 Spring依賴注入的三種實現方式

2021-09-27 11:26:28 字數 3965 閱讀 1393

public

class

news

public integer getid()

public

void

setid

(integer id)

public string gettype()

public

void

settype

(string type)

public string gettitle()

public

void

settitle

(string title)

public string getauthor()

public

void

setauthor

(string author)

public string getsummery()

public

void

setsummery

(string summery)

public string getcontent()

public

void

setcontent

(string content)

public

news

(integer id, string type, string title, string author, string summery, string content)

public

news

(string author)

@override

public string tostring()

}

newsdao介面

public

inte***ce

newsdao

newsdaoimpl的實現類

public

class

newsdaoimpl

implements

newsdao

public news getnews()

public

newsdaoimpl()

public

newsdaoimpl

(news news)

public

void

addnews()

public

void

updnews()

public

void

delnews()

}

這裡不用寫出具體的功能,只要寫出乙個輸出語句即可,不用全寫。

newsservice介面:介面的方法可以與newsdao介面定義的抽象方法一樣也可以不一樣

public

inte***ce

newsservice

newsserviceimpl實現類

public

class

newsserviceimpl

implements

newsservice

public

void

se***ao

(newsdao ndao)

public

newsserviceimpl()

public

newsserviceimpl

(newsdao ndao)

public

void

addnews()

public

void

updnews()

public

void

delnews()

}

1.進行setter注入的方式在newsdaoimpl中注入user物件setter封裝,在newsserviceimpl中注入dao層setter封裝

<

!-- setter注入

為了得到誰就定義誰

-->

"news"

class

="cn.pojo.news"

>

"author"

>

小明<

/value>

<

/property>

<

/bean>

<

!--dao層中注入news物件,引入news--

>

"newsdao"

class

="cn.dao.newsdaoimpl"

>

"news" ref=

"news"

>

<

/property>

<

/bean>

"newsservice"

class

="cn.service.newsserviceimpl"

>

"ndao" ref=

"newsdao"

>

<

/property>

<

/bean>

測試

構造方法的注入構造方法注入是注意index從0開始,並且有多少個引數就必須定義是多少個引數的方法

"news2"

class

="cn.pojo.news"

>

"author" index=

"0" value=

"小張"

>

<

/constructor-arg>

<

/bean>

"newsdao2"

class

="cn.dao.newsdaoimpl"

>

"news" ref=

"news2"

>

<

/constructor-arg>

<

/bean>

"newsservice2"

class

="cn.service.newsserviceimpl"

>

"ndao" ref=

"newsdao2"

>

<

/constructor-arg>

<

/bean>

p空間的注入這時候就要匯入p依賴

"news3"

class

="cn.pojo.news" p:author=

"小張"

>

<

/bean>

"newsdao3"

class

="cn.dao.newsdaoimpl" p:news-ref=

"news3"

>

<

/bean>

"newsservice3"

class

="cn.service.newsserviceimpl" p:ndao-ref=

"newsdao3"

>

<

/bean>

測試的結果都是一樣

Spring依賴注入的三種方式

1 自動裝配 2 配置檔案ref配置 3 resource註解注入 使用 resource註解注釋需要注入的依賴宣告。如 public class usermanageimp implements iusermanage public void setuserdao iuserdao userdao...

spring 依賴注入的三種方式

autowired 構造器,引數,方法,屬性 都是從容器中獲取引數元件的值 set方法注入 構造器注入 作為bean方法的引數注入 例子 boss 注入car類 car類 package com.spring.bean component public class car boss類 package...

spring常用的三種依賴注入方式

日常開發中,某個類需要依賴其它類的方法,通常是new乙個依賴類再呼叫類例項的方法,這種開發存在的問題是new的類例項不好統一管理 spring提出了依賴注入的思想,即依賴類不由程式設計師例項化,而是通過spring容器幫我們new指定例項,並且將例項注入到需要該物件的類中。依賴注入的另一種說法是 控...