Spring

//////////2017-2-18 ~ 2017-2-26///////////

int study_data(){

Spring概念

1.spring是開源的輕量級框架

2.spring核心主要兩部分:
? ? (1)aop:面向切面編程,擴(kuò)展功能不是修改源代碼實現(xiàn)的
? ? (2)ioc:控制反轉(zhuǎn)笛园,比如有一個類隘击,在類里面有方法(非靜態(tài)),調(diào)用類里面的方法研铆,創(chuàng)建類的對象埋同,使用對象調(diào)用方法,創(chuàng)建類對象的過程蚜印,需要new來新建對象莺禁,而在spring中不需要通過new,而是交給spring配置創(chuàng)建類對象

3.spring是一站式框架
? ? spring在javaee三層結(jié)構(gòu)中窄赋,每一層都提供不同的解決技術(shù)
? ? ? ? web層:springMVC
? ? ? ? service層: spring的ioc
? ? ? ? dao層:spring的jdbcTemplate

4.spring版本
? ? (1)hibernate5.x
? ? (2)spring4.x? ?

IOC

Spring的ioc操作
? ? 1.把對象的創(chuàng)建交給spring進(jìn)行管理
? ? 2.ioc操作兩部分:
? ? ? ? (1)ioc的配置文件方式
? ? ? ? (2)ioc的注解方式

ioc的底層原理
? ? 1.ioc底層原理使用技術(shù)
? ? ? ? (1)xml配置文件
? ? ? ? (2)dom4j解決xml
? ? ? ? (3)工廠設(shè)計模式
? ? ? ? (4)反射(通過反射機(jī)制創(chuàng)建實例對象)

案例步驟
? ? 1.創(chuàng)建項目
? ? 2.導(dǎo)入jar包
? ? ? ? (1)四個核心jar包:beans哟冬,core楼熄,context,spEL
? ? ? ? (2)導(dǎo)入支持日志輸出的jar包
? ? 3.創(chuàng)建類浩峡,添加方法
? ? 4.創(chuàng)建spring配置文件可岂,配置bean
? ? ? ? (1)spring核心配置文件名稱和位置不是固定的,建議放到src下面翰灾,官方建議名稱為applicationContext.xml
? ? ? ? (2)引入schema約束
? ? ? ? (3)配置對象創(chuàng)建(bean)
? ? 5.測試案例

Spring的bean管理(xml方式)
? ? 1.Bean實例化的方式
? ? ? ? (1)在spring里面通過配置文件創(chuàng)建對象
? ? ? ? (2)a)Bean實例化三種實現(xiàn)方式
? ? ? ? ? ? (i)使用類的無參構(gòu)造函數(shù)創(chuàng)建
? ? ? ? ? ? (ii)使用靜態(tài)工廠創(chuàng)建
? ? ? ? ? ? (iii)使用實例工廠創(chuàng)建
? ? ? ? (3)Bean標(biāo)簽的常用屬性
? ? ? ? ? ? ①id屬性:起名稱缕粹,id屬性值任意命名(id屬性不能為中文,不能有特殊符號纸淮,根據(jù)id值獲得配置對象)
? ? ? ? ? ? ②class屬性:創(chuàng)建對象所在類的全路徑
? ? ? ? ? ? ③name屬性:功能和id屬性一樣平斩,但是name可以屬性值里面可以包含特殊符號,一般用于是為了配合struts1.0而存在
? ? ? ? ? ? ④scope屬性:

Bean的引用

引用配置文件中的bean
<ref bean="somebean" />
引用其他bean中的屬性值
<property name="someProperty" value="${bean.someProperty}" />

屬性注入
? ? 1.創(chuàng)建對象的時候咽块,向類里面的屬性注入值
? ? 2.屬性注入的三種方式
? ? ? ? ①使用set方法注入
? ? ? ? ②使用有參的構(gòu)造函數(shù)注入
? ? ? ? ③接口注入

ioc與di區(qū)別
? ? 1.ioc:控制反轉(zhuǎn)绘面,把對象創(chuàng)建交給spring進(jìn)行配置
? ? 2.di:依賴注入,向類里面的屬性中設(shè)置值侈沪,通過java反射實現(xiàn)
? ? 3.關(guān)系:依賴注入不能單獨存在揭璃,需要在ioc的基礎(chǔ)上完成

Spring的bean管理(注解方式)
? ? 1.注解使用方法
? ? ? ? ①導(dǎo)入jar包(aop包)
? ? ? ? ②創(chuàng)建類,添加方法
? ? ? ? ③創(chuàng)建spring配置文件(需要context約束)
? ? ? ? ④開啟注解掃描<context:component-scan base-package="..." />
? ? 2.創(chuàng)建注解對象
? ? ? ? ①@Component(實體層)
? ? ? ? ②@Controller(web層)
? ? ? ? ③@Service(業(yè)務(wù)層)
? ? ? ? ④@Repository(持久層)
? ? 這四個注解的功能是一樣的亭罪,都是創(chuàng)建對象瘦馍,只是為了讓標(biāo)注類本身的用途更加清晰
? ? 3.設(shè)置對象為單實例/多實例
? ? ? ? @Scope(value=“singletonType/protoType”)
? ? 4.注解注入屬性
? ? ? ? @Autowired:首先通過byName查找,找不到則通過byType查找应役,如果類型存在且唯一則注入情组,否則拋出異常
? ? ? ? @Qualifier(value="asd"):直接通過byName查找
? ? ? ? @Resource(name=“beanName”) ? ? ? ?

Spring事務(wù)管理

? ? 事務(wù)是數(shù)據(jù)庫操作中最基本的單位,是一組操作扛吞,對于一個事物而言呻惕,其當(dāng)中的操作要么全都執(zhí)行荆责,要么都不執(zhí)行滥比。事務(wù)特性:ACID

事務(wù)管理的api
? ? 1.spring事務(wù)管理的兩種方式
? ? ? ? ①編程式事務(wù)管理(不用)
? ? ? ? ②聲明式事務(wù)管理(xml/注解)
? ? 2.spring事務(wù)管理的api
? ? ? ? 一 . spring針對不同的dao層框架,提供不同的實現(xiàn)類
? ? ? ? 二 . 首先做院,配置事務(wù)管理器
? ? ? ? ? ? ①創(chuàng)建數(shù)據(jù)庫
? ? ? ? ? ? ②創(chuàng)建service和dao層盲泛,完成注入關(guān)系
? ? ? ? 三 . 配置事務(wù)管理器

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市键耕,隨后出現(xiàn)的幾起案子寺滚,更是在濱河造成了極大的恐慌,老刑警劉巖屈雄,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件村视,死亡現(xiàn)場離奇詭異,居然都是意外死亡酒奶,警方通過查閱死者的電腦和手機(jī)蚁孔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進(jìn)店門奶赔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人杠氢,你說我怎么就攤上這事站刑。” “怎么了鼻百?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵绞旅,是天一觀的道長。 經(jīng)常有香客問我温艇,道長因悲,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任勺爱,我火速辦了婚禮囤捻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘邻寿。我一直安慰自己蝎土,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布绣否。 她就那樣靜靜地躺著誊涯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蒜撮。 梳的紋絲不亂的頭發(fā)上暴构,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天,我揣著相機(jī)與錄音段磨,去河邊找鬼取逾。 笑死,一個胖子當(dāng)著我的面吹牛苹支,可吹牛的內(nèi)容都是我干的砾隅。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼债蜜,長吁一口氣:“原來是場噩夢啊……” “哼晴埂!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起寻定,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤儒洛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后狼速,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體琅锻,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了恼蓬。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沫浆。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖滚秩,靈堂內(nèi)的尸體忽然破棺而出专执,到底是詐尸還是另有隱情,我是刑警寧澤郁油,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布本股,位于F島的核電站,受9級特大地震影響桐腌,放射性物質(zhì)發(fā)生泄漏拄显。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一案站、第九天 我趴在偏房一處隱蔽的房頂上張望躬审。 院中可真熱鬧,春花似錦蟆盐、人聲如沸承边。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽博助。三九已至,卻和暖如春痹愚,著一層夾襖步出監(jiān)牢的瞬間富岳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工拯腮, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留窖式,地道東北人。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓动壤,卻偏偏與公主長得像萝喘,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子狼电,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理蜒灰,服務(wù)發(fā)現(xiàn),斷路器肩碟,智...
    卡卡羅2017閱讀 134,672評論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,826評論 6 342
  • 什么是Spring Spring是一個開源的Java EE開發(fā)框架。Spring框架的核心功能可以應(yīng)用在任何Jav...
    jemmm閱讀 16,467評論 1 133
  • 文章作者:Tyan博客:noahsnail.com 3.4 Dependencies A typical ente...
    SnailTyan閱讀 4,166評論 2 7
  • 有時笑的言不由衷 有時哭的欲哭無淚 無奈的選擇 自己的苦果 無所謂的你 你的無所為 聽不見的聲音 叫不出的吶喊 還...
    萋萋月下閱讀 258評論 0 0