達暉資訊 - 2014教育訓練 - spring ioc container
DESCRIPTION
介紹 Spring IoC Container 觀念。 透過案例介紹 DI 的用途,並且一步一步帶你降低程式的藕合性。TRANSCRIPT
2014 教育訓練系列課程
Spring IoC Container
!達暉資訊 Allen Hsieh
Inversion of Control!控制反轉
Dependency Injection!依賴注射
超好買線上購物商城
STEP 2
加入/登入會員
STEP 1
選購商品
STEP 3
確認訂單
STEP 4
選擇付款方式
STEP 5
填寫資料
STEP 6
完成交易
決議: 改用「簡訊」來通知客戶相關訊息
決議:
Email & 簡訊都發送,並考慮未來 App
推播機制的可能性。
你覺得應該要怎麼改?
1將程式中 會變化的部分 取出並封裝
Program to an !interface,!
not an implementation.
2
Spring Framework 介紹
Spring IoC Container
Java Business Objects!(POJOs)
Configuration!(Metadata)
Bean A
Bean B
Bean C
Bean D
Bean E
Spring IoC Container
Application
getBean(“beanName”)
Bean Reference
Using the Container
Bean 初始化方式
Bean 初始化方式(續)
Spring IoC Container!依賴注射方式
透過建構子進行依賴注射
透過 Setter 進行依賴注射
Spring IoC Container!Bean Scopes
Singleton Scope
Prototype Scope
Spring Bean Scope List
singleton
prototype
request
session
global session
每一個 Spring Container 會共用同一個 Bean Instance。 (預設值)
每一次 Request 都會建立一個新的 Bean Instance 來服務。
每一次 HTTP Request 共用同一個 Bean Instance。(Web Only)
每一個 HTTP Session 共用同一個 Bean Instance。(Web Only)
每一個 Global HTTP Session 共用同一個 Bean Instance。(Porlet Only)
Annotation-based Configuration
啟動 Annotation 功能
@Required Annotation
@Autowired Annotation
@PostConstruct & @PreDestory Annotation
Component 掃描
影 片 分 享