日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

1.IocDI和Spring

發布時間:2023/11/27 生活经验 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1.IocDI和Spring 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.面向對象回顧和案例

? ?面向對象程序設計:1 2 3 4

? ?案例分析:

? ? ? ? 需求分析:

? ? ?報表功能:
? ? ?報表服務類,檢索數據,并生成圖標
? ? ?報表生成器類,生成不同格式的報表文件,例如PDF格式、Html格式等

?

? ? ?實現一:以面向對象的方式實現Demo
? ? ?實現二:分離接口和實現
? ? ?優化目標:消除ReportService到ReportGenerator實現類之間的依賴關系

? ? ?實現三:

? ? ? 采用容器:
? ? ? 增加容器類:Container類
? ? ? 所有組件由Container類管理

? ? ??分析:

? ? ? ? ?ReportService與ReportGenerator的具體實現解耦了

? ? ? ? 選擇不同的Generator不需要修改Service
? ? ? 缺點:
? ? ? ? ? Container對所管理的所有組件產生了依賴
? ? ? ? ? ReportService對Container依賴,因為其封裝有查找邏輯,所以在重用之前還要修改
? ? ?目標:
? ? ? ? ?去掉ReportService對Container依賴

? ? ?實現四:? ??

? ? ?使用服務定位器:
? ? ?服務定位器:ServiceLocator類
? ? ?封裝查找邏輯
? ? ?對外公開查找組件(Generator)的方法? ? ?

? ? ?優點:
? ? ? ?應用服務定位器將查找邏輯從組件里分離出來
? ? ? 降低組件在查找方面的復雜性
? ? ? 增加組件的重用性
? ? ? 這是用于查找資源的通用設計模式,并不局限于查找組件
? ? ? ? ?JavaEE中的應用,如:JNDI(Java命名和目錄接口)
? ? ? ?局限
? ? ? ? ? 組件需要知道如何查找資源

?2.IIoC和DI

? ?概念:??

? ?IoC(Inversion of Control,控制反轉):
? ?設計原則,解耦組件之間的依賴關系

? ?DI( DI(Dependency Injection ,依賴注入):
? ?具體的設計模式,體現了IoC的設計原則
? ?因為DI是IoC最典型的實現,所以術語IoC與DI經常被混用

? ?應用IoC:

? ?

? ? 應用IoC:
? ? ?好的獲取資源的解決方案
? ? ?由容器主動將資源推送到它所管理的組件里,組件要有接受資源的方式
? ? ?查找的被動形式

? ? 實現五:

? ??

? ? 不需要服務定位器
? ? 組件(ReportService)增加接受資源的方法(setter)
? ? 由容器將組件(ReportGenerator)注入到另一個組件(ReportService)

? ? 優點
? ? ?完全面向接口

?不同類型的依賴注入:

?

主要有三種類型的DI
接口注入(Type1 IoC)
setter注入(Type2 IoC)
構造器注入(Type3 IoC)
流行程度最廣的:setter注入
有可能忘記注入,會拋出空指針
代碼安全有可能存在問題,依賴會被修改
構造器注入
可避免setter注入的一些缺點
沒有含義明確的方法名,對參數位置與數量有要求

3.Spring框架簡介

4.Spring框架實現IoC

Spring提供了IoC容器
Beans均由Spring IoC容器
來管理和組裝

Spring實例編碼步驟:

導入Spring相關Jar文件
配置元數據
編碼實現功能,組件間用容器進行注入

Spring示例:

Bean是一個由Spring IoC容器進行實例化、裝配和管理的對象
Beans以及他們之間的依賴關系是通過容器使用配置元數據反應出來
配置元數據:
基于Xml的配置
基于注解的配置
基于Java的配置

轉載于:https://www.cnblogs.com/Firesun/p/9881768.html

總結

以上是生活随笔為你收集整理的1.IocDI和Spring的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。