久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

Spring IOC和DI詳解

Spring IOC和DI詳解

什么是Spring

Spring是一個以IoC和AOP為內核的框架。

IoC(Inversion of Control ,控制反轉)是Spring的基礎。

IoC簡單說就是創建對象由以前的程序員調用new 構造方法,變成了交由Spring創建對象。

DI(Dependency Inject,依賴注入)與IoC的含義相同,只不過這兩個稱呼是從兩個角度描述的同一個概念。

簡單地說, DI就是對象的屬性,已經被注入好相關值了,直接使用即可。

Spring IOC和DI詳解

IoC-控制反轉

??把各個對象類封裝之后,通過IoC容器來關聯這些對象類。這樣對象與對象之間就通過IoC容器進行聯系,而對象與對象之間沒有什么直接聯系。
Spring IOC和DI詳解

??應用程序在沒有引入IoC容器之前,對象A依賴對象B,那么A對象在實例化或者運行到某一點的時候,自己必須主動創建對象B或者使用已經創建好的對象B,其中不管是創建還是使用已創建的對象B,控制權都在應用程序自身。

??如果應用程序引入了Ioc容器之后,對象A和對象B之間失去了直接聯系,所以,當對象A實例化和運行時,如果需要對象B的話,IoC容器會主動創建一個對象B注入(即依賴注入)到對象A所需要的地方。由此,對象A獲得依賴對象B的過程,由主動行為變成了被動行為,即把創建對象交給了IoC容器處理,控制權顛倒過來了,這就是所謂的控制反轉。

DI-依賴注入

由IoC容器在運行期間,動態地將某種依賴關系注入到對象之中。例如,將對象B注入(賦值)給對象A的成員變量。

??事實上,依賴注入(DI)和控制反轉(IoC)是對同一件事情的不同描述,從某個方面講,就是它們描述的角度不同。依賴注入是從應用程序的角度在描述,即應用程序依賴容器創建并注入它所需要的外部資源;而控制反轉是從容器的角度在描述,即容器控制應用程序,由容器反向的向應用程序注入應用程序所需要的外部資源。這里所說的外部資源可以是外部實例對象,也可能是外部文件對象等。

IoC與DI的實現

??(1)屬性setter方法注入:指IoC容器使用setter方法注入被依賴的實例。通過調用無參構造器或無參靜態工廠方法實例化Bean后,調用該Bean的setter方法,即可實現基于setter方法的依賴注入。該方式簡單、直觀,而且容易理解,所以Spring的設置注入被大量使用。

package com.ssm.entry;  public class UserServiceImpl implements UserService {  	private UserDao userDao; 	 	// setter()實現依賴注入 	public void setUserDao(UserDao userDao){ 		this.userDao = userDao; 	} 	 	public void login() { 		this.userDao.login(); 		System.out.println("UserService login"); 	}  }

??(2)構造方法注入:指IoC容器使用構造方法注入被依賴的實例。基于構造方法的依賴注入通過調用帶參數的構造方法來實現,每個參數代表著一個依賴。

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"        xsi:schemaLocation="http://www.springframework.org/schema/beans      		http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">     		     <!-- 將指定類配置給Spring,讓Spring創建其對象的實例 控制反轉 --> 		<bean id="UserDao" class="com.ssm.entry.UserDaoImpl"></bean> 		 		<!-- 添加一個id為userService的Bean 依賴注入--> 		<bean id="UserService" class="com.ssm.entry.UserServiceImpl"> 			<!-- 將name為UserDao的Bean注入UserService實例中 --> 			<property name="UserDao" ref="UserDao"/> 		</bean> </beans>

IoC測試

package com.ssm.entry;  import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;  public class IoC { 	public static void main(String[] args) { 		 		ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); 		UserDao userDao = (UserDao)applicationContext.getBean("UserDao"); 		userDao.login(); 		 	} }

DI測試

package com.ssm.entry;  import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;  public class DI { 	 	public static void main(String[] args) { 		ApplicationContext applicationContext = new  				ClassPathXmlApplicationContext("applicationContext.xml"); 		UserService userService = (UserService)applicationContext.getBean("UserService"); 		userService.login(); 	} 	 }

推薦教程:《Java教程》

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
国产一区二区三区日韩精品| 丝袜美腿一区二区三区| 激情婷婷综合| 天堂日韩电影| 国产a亚洲精品| 国产精品夜夜夜| 日韩av成人高清| 秋霞国产精品| 亚洲精品欧美| 亚洲一级淫片| 欧美午夜不卡| 日韩视频一区二区三区在线播放免费观看| 99热精品在线| 日韩网站在线| 视频一区中文字幕精品| 亚洲最大av| 欧美激情精品| 日本免费一区二区视频| 亚洲精品美女| 蜜桃久久av一区| 先锋影音国产一区| 亚洲欧美日本日韩| 久久亚洲图片| 国产欧美欧美| 久久精品国产精品亚洲毛片| 精品成人18| 久久久久国产精品一区三寸| 国产亚洲精品自拍| 亚洲3区在线| 国产精品一区二区三区av麻| 高清在线一区| 精品三级久久| 91精品在线观看国产| 亚洲另类黄色| 欧美亚洲免费| 国产精品蜜芽在线观看| 欧美日韩精品免费观看视频完整| 中文字幕亚洲精品乱码| 国产精品4hu.www| 国产伊人精品| 国产麻豆一区二区三区精品视频| 香蕉成人av| 亚州精品视频| 日韩电影在线视频| 五月亚洲婷婷 | 一区二区亚洲精品| 好吊日精品视频| 日本久久二区| 日本 国产 欧美色综合| 香蕉成人久久| 久热综合在线亚洲精品| 久久蜜桃av| 午夜久久影院| 日韩动漫一区| 午夜在线视频观看日韩17c| 国产精品久久免费视频| 色老板在线视频一区二区| 伊人久久亚洲影院| 国产精品视频一区二区三区四蜜臂| 国产不卡人人| 亚洲欧美网站在线观看| 免费在线小视频| 欧美中文高清| 99亚洲视频| 成人精品高清在线视频| 亚洲一区二区av| 久久精品导航| 精品国产一区二区三区性色av| 日韩中文字幕不卡| 日韩免费看片| 欧美黑人巨大videos精品| 丝袜亚洲另类欧美| 国产成人1区| 日韩高清电影一区| 亚洲精品电影| 亚洲永久av| 国产精品激情| 亚洲乱码一区| 国产女优一区| 久久久精品日韩| 狠狠久久伊人中文字幕| 日韩av一区二区三区| 日韩亚洲精品在线| 日韩伦理一区| 丰满少妇一区| 国产精品白浆| 亚洲尤物av| 国产欧美日韩免费观看| 久久国产免费看| 精品国产中文字幕第一页| 麻豆91精品| 九九九精品视频| 欧美日本一区| 亚洲午夜久久| 激情欧美丁香| 石原莉奈一区二区三区在线观看| 最新中文字幕在线播放| 欧美日韩一视频区二区| 欧美日韩国产高清| 久久精品国产www456c0m| 精品一区二区三区的国产在线观看| 亚洲精品日韩久久| 精品国产亚洲一区二区三区大结局 | 激情欧美一区二区三区| 久久久久97| 国产免费av国片精品草莓男男| 久久国产人妖系列| 日韩亚洲精品在线| 欧美亚洲三区| 欧美极品一区二区三区| 亚洲精品大全| 蜜臀精品一区二区三区在线观看| 久久久国产精品一区二区中文| 成人在线视频区| 国产精品国码视频| 国产欧美日韩在线一区二区 | 亚洲va在线| 国产99精品| 亚洲欧美伊人| 亚洲一区二区三区四区五区午夜| 久久天堂成人| 国产专区一区| 亚洲美女91| 亚洲一区二区网站| 欧美日韩激情| 一区二区国产精品| 亚洲欧美视频| 少妇高潮一区二区三区99| 蜜桃一区二区三区在线观看| 欧美日本精品| 日韩超碰人人爽人人做人人添| 99pao成人国产永久免费视频| 欧美va亚洲va日韩∨a综合色| 欧美精品羞羞答答| 亚洲欧美激情诱惑| 亚洲三级毛片| 久久国产精品色av免费看| 欧美国产日韩电影| 国产成人免费精品| 国产一区二区三区不卡视频网站 | 国产欧美一区二区精品久久久| 国产欧美日韩在线一区二区| 国产精品一区二区99| 日韩av片子| 不卡一区综合视频| 亚洲精品动态| 国产精品香蕉| 深夜福利视频一区二区| 天堂资源在线亚洲| 免费看的黄色欧美网站| 免费人成网站在线观看欧美高清| 91超碰国产精品| 国产模特精品视频久久久久| 91九色综合| 亚洲精品人人| 91久久国产| 97精品国产一区二区三区| 成人影视亚洲图片在线| 日本亚州欧洲精品不卡| 日韩成人精品一区| 久久这里只有| 欧产日产国产精品视频| 在线精品观看| 欧美久久精品一级c片| 成人美女视频| 国产极品嫩模在线观看91精品| 蜜桃久久久久久| 亚洲成人va| 日韩欧美中文| 综合激情网...| 欧美亚洲在线日韩| 日本欧洲一区二区| 卡一卡二国产精品| 99精品在线| 日韩精品视频网| 国产成人精品免费视| 香蕉久久夜色精品国产| 国产精品久久免费视频| 在线日韩一区| 国产视频一区二区在线播放| 美女福利一区二区三区| 在线精品国产亚洲| 免费在线亚洲欧美| 亚洲大片在线| 日本vs亚洲vs韩国一区三区二区| 精品久久免费| 亚洲毛片网站| 日韩在线高清| 日韩**一区毛片| 成人日韩精品| 欧美在线91| 在线精品视频在线观看高清| 麻豆精品新av中文字幕| 一本一本久久| 麻豆视频在线观看免费网站黄| 亚洲精品看片| 欧美va天堂在线| 鲁大师精品99久久久| 日韩专区欧美专区| 亚洲伊人av|