Spring MVC的相關jar包

工作上遇到過的Spring jar包,紀錄一下它們的功用和一些常見的概念

spring-aop

spring的面向切面程式設計,提供AOP的實現

AOP(Aspect-oriented programming):面向切面程式設計

 

spring-beans

用來訪問配置文件、管理以及創造bean,是spring IOC的實現基礎

IOC(Inversion of Control):控制反轉原則,用來降低程式碼間的耦合度,最常見的方法叫做

DI(Dependency Injection):依賴注入,從外部注入類別中的屬性

舉例來說,在XML檔裡面有一個bean為

<bean id="queryController" class="com.test.queryController">
    <property name="methodNameResolver" ref="paraMethodResolver"/>
    <property name="queryService" ref="queryListService"/>
    <property name="queryListPage" value="queryList"/>
    <property name="maxRow"  value="100"/>
</bean>

queryController這個類別裡面有兩個屬性為queryService和queryListPage

我在這個XML檔裡面直接指定值給它

也就是指定queryService參考的類別為queryListService

queryListPage的屬性值為queryList

我可以直接在這裡設定,而不用進到類別裡的程式碼去設定

又在queryController裡面我有設定getter和setter

在程式碼中我只需要使用getter就好,不用去使用setter去設定,DI會自動去使用setter將bean中指定的值帶入

另外在屬性值上加上@Autowired這個註解,更可以直接省略掉setter,DI就會自動帶入,以此可以加強安全性

 

spring-binding

工作專案出現,但是網路上查不到資訊,以後再找找看

 

spring-context

作為Spring的IOC容器,基本上整合了Spring的大部分功能的基礎

它呼叫了大部分的spring core中的方法,為Spring提供運行環境,用以保存各個對象狀態。

 

spring-context-support

spring-context的擴展包

 

spring-core

Spring的核心,其他包會依賴此包

 

spring-data-commons

工作專案出現,但是網路上查不到資訊,以後再找找看

 

spring-expression

可以使用Spring表達式(Spring Expression Language,SpEL)

 

spring-jdbc

對jdbc的封裝

JDBC(Java DataBase Connectivity):JAVA資料庫連結

用來規範客戶端程式如何存取資料庫的應用程式介面

 

spring-js

工作專案出現,但是網路上查不到資訊,以後再找找看

 

spring-js-resources

工作專案出現,但是網路上查不到資訊,以後再找找看

 

spring-orm

整合第三方的orm(Object Relational Mapping,物件關聯對映)實現,如hibernate,ibatis…等等

 

spring-oxm

spring3.0的新特性o/mMapping,主要用來實現xml和JavaBean物件(常見的是POJO)的互相轉換

但O/XMapper只是定義由第三方框架實現統一的介面,要利用Spring的O/X功能

還需要一個在Java物件和XML之間來回轉換的實用程式

POJO(Plain old Java object):一個單純的Java物件,沒有繼承、實現接口和被框架入侵的物件

但現在比較常被指為一個資料庫接收的容器,並擁有getter和setter

 

spring-security-config

spring-security-core

spring-security-data

spring-security-taglibs

spring-security-web

Spring Security是一個能夠為基於Spring的企業應用系統提供聲明式的安全訪問控制解決方案的安全框架

 

spring-tx

為JDBC、Hibernate、JDO、JPA等提供的一致的宣告式和程式設計式事務管理

 

spring-web

Spring框架開發Web時所需的核心

 

spring-webflow

用來設計網頁流程

 

spring-webmvc

包含SpringMVC框架相關的所有類

包含國際化、標籤、Theme、檢視展現的FreeMarker、JasperReports、Tiles、Velocity、XSLT相關類

如果你的應用使用了獨立的MVC框架,則無需這個JAR檔案裡的任何類別

 

要執行一個MVC專案,至少要有以下jar

1.spring-core.jar

2.spring-beans.jar

3.spring-aop.jar

4.spring-context.jar

5.spring-jdbc.jar

6.spring-web.jar