亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

三種方式告訴你Spring的依賴注入

2024-09-05 00:18:18
字體:
來源:轉載
供稿:網友

在正常的開發中,程序員需要依賴于一個類的其他類的方法,通常是從新的依賴類再調用類進行實現,如果對三種方式告訴你Spring的依賴注入內容感興趣的話,就關注錯新技術頻道吧!

Spring依賴注入(DI)的三種方式,分別為:

1. 接口注入

2. Setter方法注入

3. 構造方法注入

下面介紹一下這三種依賴注入在Spring中是怎么樣實現的。

首先我們需要以下幾個類:

接口 Logic.java

接口實現類 LogicImpl.java

一個處理類 LoginAction.java

還有一個測試類 TestMain.java

Logic.java如下:

package com.spring.test.di;public interface Logic {public String getName();}

LogicImpl.java如下:

package com.spring.test.di;public class LogicImpl implements Logic{public String getName(){  return "fengyun";}}

TestMain.java

package com.spring.test.di;import org.springframework.context.ApplicationContext;import org.springframework.context.support.FileSystemXmlApplicationContext;public class TestMain {/** * @param args */public static void main(String[] args) {  // 得到ApplicationContext對象  ApplicationContext ctx = new FileSystemXmlApplicationContext(     "applicationContext.xml");  // 得到Bean  LoginAction loginAction = (LoginAction) ctx.getBean("loginAction");  loginAction.execute();}}

LoginAction.java 會根據使用不同的注入方法而稍有不同

下面按照注入的方法來看LoginAction.java類

Setter方法注入:

package com.spring.test.di;public class LoginAction {private Logic logic;public void execute() {  String name = logic.getName();  System.out.print("My Name Is " + name); }/** * @return the logic */public Logic getLogic() {  return logic;}/** * @param logic *      the logic to set */public void setLogic(Logic logic) {  this.logic = logic;}}

定義了一個Logic 類型的變量 logic, 在LoginAction并沒有對logic 進行實例化,而只有他對應的setter/getter方法,因為我們這里使用的是Spring的依賴注入的方式

applicationContext.xml配置文件如下:

現在可以運行testMain.java了,我們可以看到控制臺打出了 My Name Is fengyun

OK了,這就是spring的setter方法注入,非常簡單

下面我們來看看構造方法注入

顧名思義,構造方法注入,就是我們依靠LoginAction的構造方法來達到DI的目的,如下所示:

LoginAction.java

package com.spring.test.di;public class LoginAction {private Logic logic;public LoginAction(Logic logic) {  this.logic = logic;}public void execute() {  String name = logic.getName();  System.out.print("My Name Is " + name);}}

這里我們添加了一個LoginAction的構造方法

applicationContext.xml配置文件如下:

我們使用constructor-arg來進行配置, index屬性是用來表示構造方法中參數的順序的,如果有多個參數,則按照順序,從 0,1…來配置

我們現在可以運行testMain.java了,結果跟使用Setter方法注入完全一樣.

其中需要注意一點有:構造函數有多個參數的話,如:參數1,參數2,而參數2依賴于參數1,這中情況則要注意構造函數的順序,必須將參數1放在參數2之前。

下面繼續說說我們不常用到的接口注入,還是以LogicAction為例,我們對他進行了修改,如下所示:

LogicAction.java

package com.spring.test.di;public class LoginAction {private Logic logic;public void execute() {  try {    Object obj = Class.forName("com.spring.test.di.LogicImpl")       .newInstance();    logic = (Logic) obj;    String name = logic.getName();    System.out.print("My Name Is " + name);  } catch (Exception e) {    e.printStackTrace();  }}}

配置文件:

對于接口注入這種方式,以上也只是我個人理解,不知道是否有什么問題。呵呵

我們最常用就是Setter和構造函數這兩種注入方法,至于他們各自的對比,我想在只要baidu一下就可以有清楚的答案了。

對于Spring的依賴注入,最重要的就是理解他的,一旦理解了,將會覺得非常的簡單。無非就是讓容器來給我們實例化那些類,我們要做的就是給容器提供這個接口,這個接口就我們的set方法或者構造函數了。

上述是三種方式告訴你Spring的依賴注入,大家了解了嗎?更多的技術知識,盡在錯新技術頻道哦!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲bt天天射| 国产精品吹潮在线观看| 国产欧美日韩中文字幕| 一区二区三区四区视频| 日韩电影大全免费观看2023年上| 国模精品视频一区二区| 国产一区二区三区视频在线观看| 成人性生交大片免费看小说| 在线播放精品一区二区三区| 精品国偷自产在线视频99| 97久久精品人搡人人玩| 欧美日韩国产影院| 尤物九九久久国产精品的特点| 91精品视频在线播放| 精品在线欧美视频| 精品久久中文字幕| 日韩精品在线观| 国产欧美婷婷中文| 日韩一区二区三区在线播放| 91a在线视频| 国产精品v片在线观看不卡| www国产91| 成人精品一区二区三区| 成人欧美一区二区三区黑人孕妇| 91伊人影院在线播放| 亚洲深夜福利视频| 久久久极品av| 最近中文字幕2019免费| 午夜精品久久久99热福利| 亚洲成人性视频| xxxx欧美18另类的高清| 久久精品国产亚洲精品| 国模私拍一区二区三区| 亚洲国产精品人久久电影| 亚洲欧美国产日韩天堂区| 66m—66摸成人免费视频| 国产精品999999| 97精品视频在线播放| 欧美国产日本高清在线| 久久精品91久久久久久再现| 国产精品一区二区三区毛片淫片| 91免费综合在线| 欧美视频第一页| 欧美日韩亚洲高清| 国产亚洲激情视频在线| 91精品国产91久久久久久吃药| 欧美成人h版在线观看| 亚洲精品日韩激情在线电影| 精品呦交小u女在线| 亚洲大胆人体视频| 欧美激情视频在线| 亚洲视频在线观看| xxxx欧美18另类的高清| 欧美激情免费观看| 欧美激情亚洲一区| 午夜精品一区二区三区视频免费看| 国产精品日韩精品| 亚洲福利视频专区| 成人福利在线视频| 中文字幕少妇一区二区三区| 欧美激情精品久久久久久黑人| 国产亚洲人成网站在线观看| 最近2019中文字幕第三页视频| 欧美黄色片视频| 在线播放日韩欧美| 日韩在线国产精品| 亚洲人成绝费网站色www| 国产视频在线观看一区二区| 国产成人福利夜色影视| 91在线国产电影| 777国产偷窥盗摄精品视频| 国产精品色视频| 久久精品99无色码中文字幕| 亚洲国产高清福利视频| 热re99久久精品国产66热| 2024亚洲男人天堂| 欧美成人精品影院| 精品少妇一区二区30p| 欧美伊久线香蕉线新在线| 国产v综合v亚洲欧美久久| 欧美精品制服第一页| 国产精品三级久久久久久电影| 久久中文字幕在线| 久久精品99国产精品酒店日本| 日韩欧美在线网址| 8050国产精品久久久久久| 亚洲自拍中文字幕| 久久大大胆人体| 视频在线观看一区二区| 欧美激情第99页| 亚洲xxx自由成熟| 亚洲一区二区三区成人在线视频精品| 日韩一级裸体免费视频| 日韩精品免费在线观看| 亚洲影院污污.| 91久久久国产精品| 亚洲片国产一区一级在线观看| 欧美激情xxxxx| 亚洲国产成人爱av在线播放| 午夜精品在线视频| 日本中文字幕久久看| 国产精品美女久久久久av超清| 亚洲国产成人爱av在线播放| 78m国产成人精品视频| 日韩小视频在线观看| 精品视频久久久久久久| 欧美理论电影网| 欧美日韩国产一区二区| 久久久久久久久久久人体| 久久久久久国产免费| 2019中文字幕在线免费观看| 欧美成人精品在线观看| 亚洲欧洲偷拍精品| 日本高清+成人网在线观看| 久久久久久久香蕉网| 精品久久久久久亚洲精品| 亚洲欧美日本精品| 欧美性猛交xxxx乱大交| 97色伦亚洲国产| www.日韩视频| 高清欧美电影在线| 久久国产精品久久久久久久久久| 亚洲国产天堂久久综合网| 欧美高清视频在线观看| 日韩午夜在线视频| 亚洲成av人乱码色午夜| 日本一区二区不卡| www.亚洲免费视频| 亚洲毛茸茸少妇高潮呻吟| 亚洲色图五月天| 精品久久久久久国产91| 日韩国产高清污视频在线观看| 色yeye香蕉凹凸一区二区av| 按摩亚洲人久久| 国产视频在线一区二区| 国产原创欧美精品| 亚洲无线码在线一区观看| 91成人在线观看国产| 亚洲精品98久久久久久中文字幕| 777午夜精品福利在线观看| 国产亚洲一级高清| 日韩精品福利网站| 成人观看高清在线观看免费| 欧美极品在线视频| 日韩免费电影在线观看| 国产人妖伪娘一区91| 国外成人在线直播| 91九色国产视频| 欧美精品一区在线播放| 欧美精品一区在线播放| 精品亚洲一区二区| 69久久夜色精品国产69| 国产免费一区二区三区在线能观看| 亚洲国产成人在线视频| 成人做爽爽免费视频| 国产成人综合久久| 91美女福利视频高清| 亚洲成人激情在线| 久久99精品国产99久久6尤物| 欧美性xxxx极品高清hd直播| 亚洲国产小视频在线观看| 久久久久久91| 欧美日韩一区二区在线| 一区二区三区日韩在线|