如果在xml中,按著Ctrl點(diǎn)不進(jìn)權(quán)限定路徑需要導(dǎo)入插件
最新版本的連接:? ??https://download.springsource.com/release/TOOLS/update/e4.12/
具體
1概念:? ??
IOC: Inversion of Control
AOP:Aspect Oriented Programming
2 Spring不同版本間的差異
Spring4新特性:刪除了廢棄的包和方法虫啥,支持部分JDK8新特性洲拇,支持JavaEE7
Spring5性特性:JDK基線更新至JDK8修訂核心框架部分功能支持Kotlin語言響應(yīng)式編程模型?
支持Junit5
IoC和DI
IoC:控制反轉(zhuǎn)惩妇,是一個(gè)概念跃巡,是一種思想爆哑,并不是一種具體的技術(shù)
控制反轉(zhuǎn):
控制反轉(zhuǎn)(IoC绘雁,Inversion of Control)橡疼,是一個(gè)概念,是一種思想庐舟⌒莱控制反轉(zhuǎn)就
是對(duì)對(duì)象控制權(quán)的轉(zhuǎn)移,從程序代碼本身反轉(zhuǎn)到了外部容器挪略。把對(duì)象的創(chuàng)建历帚、初始化、
銷毀等工作交給spring容器來做杠娱。由spring容器控制對(duì)象的生命周期挽牢。
DI?:依賴注入
依賴注入:Dependency Injection。依賴注入DI是指程序運(yùn)行過程中摊求,若需要調(diào)用另
一個(gè)對(duì)象協(xié)助時(shí)禽拔,無須在代碼中創(chuàng)建被調(diào)用者,而是依賴于外部容器室叉,由外部容器創(chuàng)
建后傳遞給程序睹栖。
依賴注入是目前最優(yōu)秀的解耦方式。依賴注入讓Spring的Bean之間以配置文件的方式
組織在一起茧痕,而不是以硬編碼的方式耦合在一起的野来。
IoC和DI的關(guān)系:
IoC是一個(gè)概念,是一種思想踪旷,并不是一種具體的技術(shù) 曼氛,而DI依賴注入 是對(duì)IoC的一個(gè)具體實(shí)現(xiàn)
創(chuàng)建Ioc程序
1,導(dǎo)入jar包(基本7個(gè))
2埃脏,創(chuàng)建Spring配置文件
3.????Bean的定義與注冊(cè)
4.? ? 從spring容器中獲取Bean
ApplicationContext和BeanFactory的區(qū)別
ApplicationContext容器初始化時(shí)搪锣,所有的容器中bean創(chuàng)建完畢
BeanFactory當(dāng)調(diào)用getBean獲取相應(yīng)對(duì)象時(shí),才創(chuàng)建對(duì)象
? ??????
Spring之IoC
基于XML的DI????所謂注入彩掐,可理解為對(duì)象的屬性賦值
????????<property name="" value="" ></property>
簡(jiǎn)單數(shù)據(jù)類型和引用數(shù)據(jù)類型注入
集合屬性注入(array构舟、set、list、map狗超、properties)
數(shù)組:
<property name = “設(shè)置數(shù)組屬性的名字”>
<array>
<value>值1</value>
<value>值2</value>
<value>值3</value>
</array>
</property>
Set集合
<property name = “設(shè)置set結(jié)合屬性的名字”>
<set>
<ref bean=”引入對(duì)象的id1”?/>
<ref bean=”引入對(duì)象的id1”?/>
</set>
</property>
List集合
<property name = “設(shè)置list集合的名字”>
<list>
<value>值1</value>
<value>值2</value>
<value>值3</value>
</list>
</property>
Map集合
<property name = “設(shè)置map集合的名字”>
<map>
<entry key = “”?value =””?></entry>
<entry key = “”?value =””?></entry>
</map>
</property>
Property
<property name = “設(shè)置map集合的名字”>
<props>
<props key = “”?>值1</props>
<props key = “”?>值2</props>
</props>
</property>
域?qū)傩宰詣?dòng)注入(byName\byType弹澎;局部和全局配置)
ByName方式域?qū)傩宰詣?dòng)注入 在bean標(biāo)簽里添加
Autowire = “byName”
要求注入的bead的id必須和被注入bean對(duì)象的
屬性保持一致
byType方式域?qū)傩宰詣?dòng)注入
Spring配置文件中查詢與屬性類型一致的bean并進(jìn)行注入
空字符串或null的注入
?空字符串:<property name="name"><value/></property>? ??
null的注入:<property name="name"><null/></property>
構(gòu)造注入方式