參考java學(xué)習(xí)網(wǎng)站:
簡(jiǎn)介:
spring是一個(gè)開(kāi)源的jee框架猜嘱。我們?cè)趯慾ava程序的時(shí)候,一個(gè)類A里面的屬性為另一個(gè)類B嗦枢,當(dāng)我們使用B的對(duì)象來(lái)調(diào)用B中的方法時(shí),我們必須要在類A中先通過(guò)new B()來(lái)得到B的對(duì)象屯断。當(dāng)類與類之間的關(guān)系很復(fù)雜的時(shí)候文虏,我們需要花費(fèi)非常大的力氣去處理這些依賴關(guān)系。
spring就是解決了類與類之間的各種復(fù)雜依賴關(guān)系的框架殖演。
現(xiàn)在的spring框架已經(jīng)成了java企業(yè)開(kāi)發(fā)中不可缺少的一部分氧秘,各大主流框架,struts2趴久、hibernate丸相、spring mvc等都對(duì)spring有很好的支持與兼容性。
spring除了能管理各個(gè)類之間的依賴關(guān)系以外彼棍,還有非常好的aop灭忠、事物管理等功能。
注:因?yàn)镾ervlet和普通的java類不同座硕,Servlet是單獨(dú)運(yùn)行在Servlet容器中的弛作,所以當(dāng)我們用spring正常注入,是沒(méi)法正常注入Servlet的华匾。所以映琳,spring注入Servlet,需要在Servlet的init()方法中添加
ApplicationContext context=new FileSystemXmlApplicationContext("classpath:applicationContext.xml");//讀取spring配置文件
this.myService=(MyService)context.getBean("myService");//從spring容器中獲得myService實(shí)例
這樣Servlet才可以正常獲得MyService的實(shí)例蜘拉。
配置spring配置文件:applicationContext.xml
和web.xml
文件
將業(yè)務(wù)服務(wù)類配置在spring中萨西,將類的實(shí)例化交給spring管理。我們需要到類的實(shí)例時(shí)旭旭,通過(guò)spring獲取就行谎脯,不需要我們?cè)诔绦蛑芯帉憂ew MyService()來(lái)獲取。
輕量級(jí)容器架構(gòu)
Spring最核心的就是:管理對(duì)象您机。包括三方的集成穿肄。
事務(wù):開(kāi)啟年局,提交际看,回滾咸产。
我們的類不需要實(shí)現(xiàn)或者繼承Spring的類,就是普通類仲闽,Sping就可以管理脑溢。
Spring結(jié)構(gòu)圖:
Core: IoC 控制反轉(zhuǎn)
AOP:面向切面的編程。主要用它的事務(wù)赖欣。
DAO: 數(shù)據(jù)訪問(wèn)對(duì)象屑彻。Spring中又做了一層封裝,也提供了一些Hibernate風(fēng)格的實(shí)現(xiàn)顶吮。
ORM: jpa不是實(shí)現(xiàn)社牲,Hibernate是對(duì)jpa的實(shí)現(xiàn)。
JML:Java manager 擴(kuò)展悴了,Tomcat是基于JML實(shí)現(xiàn)的搏恤。