Spring實(shí)質(zhì)上講就是一個(gè)Bean工廠,主要用來(lái)管理Bean的生命周期和框架集成。
Spring分為兩個(gè)部分:
1. IOC控制反轉(zhuǎn)(也叫DI依賴(lài)注入,此名由Mardin Fowler給出)。Spring的頂層容器為BeanFactory,常用的ApplicationContext為它的子接口,實(shí)現(xiàn)了工廠模式。Spring需要加載它的配置文件,通常配置文件名為applicationContext.xml或spring-config.xml,其中Bean的定義為<bean id=”beanId” class=”xxx.class” />
2. Spring容器負(fù)責(zé)根據(jù)配置文件創(chuàng)建Bean對(duì)象并進(jìn)行對(duì)其的裝載。Bean有懶加載,屬性配置,自動(dòng)裝載,parent Bean,abstract Bean,F(xiàn)actoryBean(通常用于框架集成,需要了解BeanFactory和FactoryBean的區(qū)別),scope(singleton單例,prototype多例)。
3. Spring 2.5后提供了對(duì)注釋的支持,更加方便,在重構(gòu)時(shí)作用巨大。
4. Spring的IOC解除了模塊間的耦合,可以使項(xiàng)目多模塊并行開(kāi)發(fā)。
5. Spring還提供了AOP的支持,方便在切面級(jí)開(kāi)發(fā),例如事務(wù)控制、日志、性能、安全等。Spring的AOP有兩種配置方式,都是通過(guò)動(dòng)態(tài)代理技術(shù)實(shí)現(xiàn)的,一種是JDK自帶的Proxy類(lèi)的實(shí)現(xiàn),一種是CGLIB動(dòng)態(tài)代理實(shí)現(xiàn),通過(guò)<aop:aspect target-class-proxy=”true” />開(kāi)關(guān)進(jìn)行設(shè)置。
6. Spring的重要做用是集成其它框架。Spring官方提供了許多類(lèi)庫(kù)對(duì)其它框架進(jìn)行了封裝,例如通過(guò)的事務(wù)模塊、JMS框架的調(diào)用模塊、Email支持、調(diào)試器Scheduler、JNDI等,同時(shí)其它框架也提供了針對(duì)Spring的集成包,例如Hibernate、MyBatis、Struts等
遠(yuǎn)近互聯(lián)技術(shù)-劉 整理發(fā)布,希望能對(duì)同是技術(shù)的你有所幫助。
遠(yuǎn)近互聯(lián)專(zhuān)業(yè)提供網(wǎng)站建設(shè)、APP開(kāi)發(fā)、網(wǎng)站優(yōu)化、外貿(mào)網(wǎng)站SEO、微信運(yùn)營(yíng)的品牌整合營(yíng)銷(xiāo)服務(wù),讓客戶(hù)通過(guò)網(wǎng)絡(luò)品牌建立與網(wǎng)絡(luò)傳播提高業(yè)績(jī)。






