一、什么是Spring?
Spring是一款主流的、開源、輕量級的企業(yè)級java應(yīng)用程序開發(fā)框架,具有強大的功能和卓越的性能。
在服務(wù)器端采用三層體系架構(gòu):表現(xiàn)層(web)、業(yè)務(wù)邏輯層(service)、持久層(dao)。
Spring提供了web MVC框架:
- 模型(Model)由POJO類組成,封裝了應(yīng)用程序數(shù)據(jù)。
- 視圖(View)渲染模型數(shù)據(jù)。
- 控制器(Controller)負責(zé)處理用戶發(fā)送的請求并生成對應(yīng)的模型,然后傳遞給視圖渲染。
二、Spring體系結(jié)構(gòu)
Spring框架采用分層架構(gòu),根據(jù)不同的功能劃分成多個模塊。

Spring體系結(jié)構(gòu)
上面的模塊可按照需求進行選擇使用,不必全部引入。
模塊介紹
1、Data Access/Integration(數(shù)據(jù)訪問/集成)
- JDBC:提供JDBC抽象層,大幅減少對數(shù)據(jù)庫的編碼
- ORM:對關(guān)系映射API(JPA、JDO、Hibernate和iBatis)提供了集成層
- OXM:提供支持對象/XML映射的抽象層實現(xiàn)(JAXB、Castor、XMLBeans、JiBX和XStream)
- JMS:java消息服務(wù)(生產(chǎn)和消費的信息)
- Transactions事務(wù):支持編程和聲明式事務(wù)管理實現(xiàn)特殊接口類
2、Web模塊
- Web:提供基本W(wǎng)eb開發(fā)集成特性(file上傳、用Servlet監(jiān)聽器的IoC容器初始化和Web應(yīng)用上下文)
- Servlet:MVC——實現(xiàn)——>WebApp
- Struts:支持類內(nèi)的SpringApp,集成經(jīng)典的Struts Web層
- Portlet:提供在Portlet中使用MVC的實現(xiàn)(類似Web—Servlet模塊)
3、Core Container(核心容器)
- Beans:提供BeanFactory,是工廠模式的經(jīng)典實現(xiàn),Spring將管理對象稱為Bean
- Core:Spring基本組成部分(包括IoC和DI功能)
- Context:建立于Core和Beans基礎(chǔ)之上,是訪問定義和配置任何對象的媒介,其焦點是ApplicationContext接口
- Expression Language:運行時查詢和操作對象圖的表達式語言
4、其他
- AOP:提供面向切面編程實現(xiàn),允許定義方法攔截器和切入點,將代碼按功能分離,降低耦合性
- Aspects:提供與AspectJ的集成,是一個面向切面編程(AOP)的框架
- Instrumentation:提供類工具的支持和類加載器的實現(xiàn),可在特定應(yīng)用服務(wù)器中使用
- Test:支持Spring組件,用JNit/TestNG框架的測試
IOC:控制翻轉(zhuǎn),把創(chuàng)建對象過程交給Spring管理
AOP:面向切面,不修改源代碼進行功能增強
看到上面這些一臉懵逼。。。。
三、環(huán)境配置
我們要先去官網(wǎng)下載需要用到的jar包,可以直接到https://repo.spring.io/release/org/springframework/spring/找自己要的版本即可,就不用到網(wǎng)上一路找,用瀏覽器下載可能會很慢,可以結(jié)合IDM下載就很香啦。 然后再下載一個日志的jar包commons-logging,地址==>http://commons.apache.org/proper/commons-logging/download_logging.cgi

所需jar包
spring的jar包中主要有三個文件夾

jar包內(nèi)容
docs:API文檔和開發(fā)規(guī)范
libs:jar包和源碼
schema:與開發(fā)相關(guān)的schema文件,其定義了相關(guān)配置文件的約束
我們首先關(guān)注libs中的beans、context、core 和 expression

四個核心jar包
這四個jar包對應(yīng)上邊說的體系結(jié)構(gòu)中的核心容器,是Spring的核心基礎(chǔ)包,到時候?qū)⑵鋵?dǎo)入到項目的lib目錄即可