data access:數(shù)據(jù)訪問
data integration:數(shù)據(jù)集成
transactions:事務(wù)
AOP:Aspect Oriented Programming 面向切面編程
Aspects:切面
Core container:核心容器
spring核心概念1.IoC(Inversion of Control)控制反轉(zhuǎn)
使用對(duì)象時(shí)由主動(dòng)new產(chǎn)生對(duì)象轉(zhuǎn)換為由外部提供對(duì)象,這個(gè)過程中對(duì)象創(chuàng)建控制權(quán)由程序轉(zhuǎn)給外部,這個(gè)思想叫控制反轉(zhuǎn)。
2.spring將這個(gè)思想實(shí)現(xiàn)了
spring提供的IoC容器就是控制反轉(zhuǎn)思想中的外部
IoC容器負(fù)責(zé)創(chuàng)建、初始化對(duì)象,而被創(chuàng)建或被管理的對(duì)象在IoC容器里被稱為Bean
3.DI(dependency injection)依賴注入
在容器中bean和bean之間建立依賴關(guān)系的過程叫依賴注入
上述三點(diǎn)的目的在于解耦
IoC管理bean
給IoC容器內(nèi)有依賴關(guān)系的bean綁定
org.springframework spring-context5.3.0
//獲取ioc容器
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
//獲取bean
//BookDao bookDao = (BookDao) ctx.getBean("bookDao");
BookService bookService = (BookService) ctx.getBean("bookService");
//bookDao.save();
bookService.save();
至此一個(gè)簡(jiǎn)單的入門IoC實(shí)例就完成了,但是只是這種程度還是沒有做到解耦這個(gè)目標(biāo)的。
DI入門案例基于IoC管理bean
service中new的Dao對(duì)象不應(yīng)該保存
給service提供所需要的Dao對(duì)象
private BookDao bookDao;
public void setBookDao(BookDao bookDao) {
this.bookDao = bookDao;
}
bean的基本配置類型 | 描述 |
---|---|
名稱 | name |
類型 | 屬性 |
所屬 | bean |
作用 | 給bean起別名,多個(gè)別名用,;以及空格隔開 |
bean無論是通過id還是name獲取如果無法獲取到會(huì)拋出異常
NoSucnBeanDefinitionException:No bean named ‘********’ available
類型 | 描述 |
---|---|
名稱 | scope |
類型 | 屬性 |
所屬 | bean |
作用 | 定義bean的作用范圍,其中singleton表示單例(默認(rèn))而prototype表示非單例 |
適合交給容器管理的bean
表現(xiàn)層對(duì)象
業(yè)務(wù)層對(duì)象
數(shù)據(jù)層對(duì)象
工具類
不適合交給容器管理的bean
封裝實(shí)體的域?qū)ο?/p>bean的實(shí)例化
配置初始化和銷毀
init-method
destory-method
如果想看到destory-method得先關(guān)閉容器否則看不到
close()暴力關(guān)閉容器
RegisterShutDownHook退出虛擬機(jī)之前關(guān)閉容器
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧