成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Spring:Spring相關(guān)知識(shí)介紹筆記

開發(fā) 前端
Spring屬于開源框架,Spring是于2003年流行起來(lái)的一個(gè)輕量級(jí)的Java開發(fā)基礎(chǔ)框架,它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而提供的解決方案。

[[430677]]

一、Srping概念

Spring屬于開源框架,Spring是于2003年流行起來(lái)的一個(gè)輕量級(jí)的Java開發(fā)基礎(chǔ)框架,它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而提供的解決方案。該框架的主要優(yōu)勢(shì)之一就是其實(shí)現(xiàn)分層架構(gòu),分層架構(gòu)允許使用者自由選擇使用哪些組件,Spring同時(shí)為J2EE應(yīng)用程序開發(fā)提供集成的框架。Spring使用基本的JavaBean來(lái)完成以前只能由EJB完成的事情。Spring具有簡(jiǎn)單性、可測(cè)試性和松耦合的特點(diǎn)。Spring的核心技術(shù)是控制反轉(zhuǎn)(IoC)和面向切面(AOP)。

二、Spring原理

2.1 控制反轉(zhuǎn)(Inversion of control)(IOC)

利用java的反射特性讓一個(gè)對(duì)象的創(chuàng)建可以不用new進(jìn)行實(shí)例化,可以自動(dòng)的生產(chǎn),這其實(shí)就是利用java的反射特性,反射其實(shí)就是在運(yùn)行時(shí)動(dòng)態(tài)的去創(chuàng)建、調(diào)用對(duì)象,Spring就是在運(yùn)行時(shí),跟xml Spring的配置文件來(lái)動(dòng)態(tài)的創(chuàng)建對(duì)象和調(diào)用對(duì)象里的方法。就是將對(duì)象,以及對(duì)象之間的引用關(guān)系,交給Spring容器統(tǒng)一管理。

2.2 面向切面編程(Aspect-Oriented Programming)(AOP)

AOP以O(shè)OP面向?qū)ο缶幊虨榍疤岷突A(chǔ),主要用于將共通邏輯(日志記錄,性能統(tǒng)計(jì),事務(wù)處理,異常處理等)從普通的代碼邏輯中分離出來(lái),從而降低業(yè)務(wù)邏輯各部分的耦合度。

三、Spring框架結(jié)構(gòu)

Spring框架主要有以下7個(gè)模塊構(gòu)成:

  • Spring AOP:面向切面編程思想,也提供了事務(wù)管理能力。
  • Spring ORM:提供了對(duì)Hibernate、myBatis等ORM框架的支持。
  • Spring DAO:提供了 對(duì)Data Access Object模式和JDBC的支持。實(shí)現(xiàn)業(yè)務(wù)邏輯與數(shù)據(jù)庫(kù)訪問(wèn)代碼分離,從而降低代碼耦合度。
  • Spring Web:提供了Servlet監(jiān)聽(tīng)器的Context和Web應(yīng)用的上下文。
  • Spring Context:提供了Spring上下文環(huán)境。
  • Spring MVC:提供了MVC設(shè)計(jì)模式的實(shí)現(xiàn)。
  • Spring core:提供了Spring框架基本功能(IOC功能),如BeanFactory以工廠模式創(chuàng)建所需對(duì)象、通過(guò)讀取xml文件實(shí)例化對(duì)象、管理組件生命周期等等。

 

 

 

四、Srping生命周期

 

 

 

 

1、實(shí)例化Bean也就是我們經(jīng)常使用的new方法;

2、按照Spring上下文對(duì)實(shí)例化的Bean進(jìn)行配置(IOC注入);

3、Bean實(shí)現(xiàn)BeanNameAware接口,會(huì)調(diào)用它實(shí)現(xiàn)的setBeanName(String)方法,傳遞的就是Spring配置文件中Bean的id值

4、Bean已經(jīng)實(shí)現(xiàn)BeanFactoryAware接口,會(huì)調(diào)用它實(shí)現(xiàn)的setBeanFactory(setBeanFactory(BeanFactory)傳遞的是Spring工廠自身(可以用這個(gè)方式來(lái)獲取其它Bean,只需在Spring配置文件中配置一個(gè)普通的Bean就可以);

5、Bean已經(jīng)實(shí)現(xiàn)ApplicationContextAware接口,會(huì)調(diào)用setApplicationContext(ApplicationContext)方法,傳入Spring上下文;

6、Bean關(guān)聯(lián)了BeanPostProcessor接口,將會(huì)調(diào)用postProcessBeforeInitialization(Object obj, String s)方法,BeanPostProcessor經(jīng)常被作為對(duì)Bean內(nèi)容的更改,并且由于這個(gè)是在Bean初始化結(jié)束時(shí)調(diào)用那個(gè)的方法,也可以被應(yīng)用于內(nèi)存或緩存技術(shù);

7、Bean在Spring配置文件中配置了init-method屬性會(huì)自動(dòng)調(diào)用其配置的初始化方法。

8、Bean關(guān)聯(lián)了BeanPostProcessor接口,會(huì)調(diào)用postProcessAfterInitialization(Object obj, String s)方法;說(shuō)明:以上工作完成以后就可以應(yīng)用這個(gè)Bean了,那這個(gè)Bean屬于Singleton的,所以一般情況下我們調(diào)用同一個(gè)id的Bean會(huì)是在內(nèi)容地址相同的實(shí)例,當(dāng)然在Spring配置文件中也可以配置非Singleton。

9、當(dāng)Bean不再需要時(shí),會(huì)經(jīng)過(guò)清理階段,如果Bean實(shí)現(xiàn)了DisposableBean這個(gè)接口,會(huì)調(diào)用那個(gè)其實(shí)現(xiàn)的destroy()方法;

10、最后,如果這個(gè)Bean的Spring配置中配置了destroy-method屬性,會(huì)自動(dòng)調(diào)用其配置的銷毀方法。

 

五、Srping有什么優(yōu)勢(shì)?

5.1、非侵入式設(shè)計(jì)

Spring屬于非侵入式(non-invasive)框架,它使應(yīng)用程序代碼對(duì)框架的依賴程度最小。

5.2、 方便解耦、簡(jiǎn)化開發(fā)

Spring就是一個(gè)大工廠,可以將所有對(duì)象的創(chuàng)建和依賴關(guān)系的維護(hù)工作都交給Spring容器統(tǒng)一管理,大大降低了組件之間的耦合性。

5.3、支持AOP

Spring框架提供了對(duì)AOP的支持,它允許將一些通用任務(wù),如安全、事務(wù)、日志等進(jìn)行統(tǒng)一處理,從而大大減少了代碼量、提高了代碼的復(fù)用率。

5.4、支持聲明式事務(wù)處理

只需要通過(guò)配置就可以完成對(duì)事務(wù)的管理,而無(wú)需手動(dòng)編程實(shí)現(xiàn)事務(wù)的邏輯。

5.5、便于系統(tǒng)測(cè)試

Spring提供了對(duì)Junit4的支持,可以通過(guò)注解方便的進(jìn)行系統(tǒng)測(cè)試。

5.6、便于集成各種優(yōu)秀框架

Spring不排斥各種優(yōu)秀的開源框架,其內(nèi)部提供了對(duì)各種優(yōu)秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持。

5.7、大大降低Java EE API的使用難度

 

Spring對(duì)Java EE開發(fā)中非常不友好的一些API(JDBC、JavaMail等),都提供了很好封裝,使這些API應(yīng)用難度會(huì)大大降低。

 

責(zé)任編輯:姜華 來(lái)源: IT技術(shù)分享社區(qū)
相關(guān)推薦

2009-06-17 17:59:01

介紹Spring

2022-10-14 07:07:46

架構(gòu)

2009-09-07 16:20:35

CCNA認(rèn)證培訓(xùn)

2009-06-18 13:18:04

Spring IDE

2009-06-19 14:49:43

Spring框架

2021-02-06 23:03:58

SQLServer數(shù)據(jù)庫(kù)變量

2009-06-18 10:27:42

Spring Time

2022-01-26 06:59:46

SFTP操作系統(tǒng)加密算法

2009-06-19 18:38:01

Spring

2009-06-22 10:41:34

Spring.AOP

2009-07-20 10:42:55

Spring JDBC

2009-06-18 09:47:14

Spring的核心

2016-05-30 17:31:34

Spring框架

2021-04-02 07:46:52

SQL Server數(shù)據(jù)庫(kù)知識(shí)筆記

2009-11-17 17:07:01

PHP關(guān)聯(lián)數(shù)組

2022-11-25 07:59:02

SpringJava

2009-06-17 14:57:11

Spring事務(wù)管理

2009-06-30 16:57:42

Spring事務(wù)管理

2021-05-17 16:24:58

Spring Clou

2011-02-23 10:20:45

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产丝袜一区二区三区免费视频 | 国产精品一区二区视频 | 久久精品免费 | 成人精品一区二区户外勾搭野战 | 日韩视频精品在线 | 在线免费黄色小视频 | 亚洲天堂男人的天堂 | 三级免费av | 日韩视频1| 亚洲国产精品一区二区久久 | 成人免费精品视频 | 免费观看一级特黄欧美大片 | 国产美女自拍视频 | 黄色免费在线网址 | 日韩一区二区在线视频 | 国产精品成人国产乱一区 | 三级成人在线观看 | 在线观看国产 | 亚洲精品电影在线观看 | 一区二区三区四区在线播放 | 欧美激情国产日韩精品一区18 | 狠狠躁夜夜躁人人爽天天高潮 | 我爱操| 亚洲欧美一区二区三区视频 | 久久精品| 日本超碰 | 欧美日韩国产一区二区三区 | a免费在线 | 91资源在线 | 亚洲精品在线视频 | 亚洲精品国产a久久久久久 午夜影院网站 | a级在线免费观看 | 一区二区亚洲 | 在线观看国产 | 亚洲精品在线免费观看视频 | 激情免费视频 | 国产一区二区视频在线 | 黄色综合 | 国产精品久久久久久久久久东京 | 一级毛片免费完整视频 | 日本在线免费视频 |