javascript
零配置 之 Spring 概述
轉(zhuǎn)載自??【第十二章】零配置 之 12.1 概述 ——跟我學(xué)spring3?
12.1? 概述
12.1.1? 什么是零配置
?????? 在SSH集成一章中大家注意到項目結(jié)構(gòu)和包結(jié)構(gòu)是不是很有規(guī)律,類庫放到WEB-INF/lib文件夾下,jsp文件放到WEB-INF/jsp文件夾下,web.xml需要放到WEB-INF文件夾下等等,為什么要這么放呢?不這樣放可以嗎?
?
???????所謂零配置,并不是說一點配置都沒有了,而是配置很少而已。通過約定來減少需要配置的數(shù)量,提高開發(fā)效率。
因此SSH集成時的項目結(jié)構(gòu)和包結(jié)構(gòu)完全是任意的,可以通過配置方式來指定位置,因此如web.xml完全可以不放在WEB-INF下邊而通過如tomcat配置文件中新指定web.xml位置。
?
還有在SSH集成中還記得使用在Struts2配置文件中使用模式匹配通配符來定義action,只要我們的URL模式將類似于/{module}/{action}/{method}.action即可自動映射到相應(yīng)的Action類的方法上,但如果你的URL不對肯定是映射不到的,這就是規(guī)約。
?
零配置并不是沒有配置,而是通過約定來減少配置。那如何實現(xiàn)零配置呢?
?
12.1.2 零配置的實現(xiàn)方式
零配置實現(xiàn)主要有以下兩種方式:
- 慣例優(yōu)先原則:也稱為約定大于配置或規(guī)約大于配置(convention over configuration),即通過約定代碼結(jié)構(gòu)或命名規(guī)范來減少配置數(shù)量,同樣不會減少配置文件;即通過約定好默認規(guī)范來提高開發(fā)效率;如Struts2配置文件使用模式匹配通配符來定義action就是慣例優(yōu)先原則。
- 基于注解的規(guī)約配置:通過在指定類上指定注解,通過注解約定其含義來減少配置數(shù)量,從而提高開發(fā)效率;如事務(wù)注解@Transaction是不是基于注解的規(guī)約,只有在指定的類或方法上使用該注解就表示其需要事務(wù)。
?
對慣例優(yōu)先原則支持的有項目管理工具Maven,它約定了一套非常好的項目結(jié)構(gòu)和一套合理的默認值來簡化日常開發(fā),作者比較喜歡使用Maven構(gòu)建和管理項目;另外還有Strtus2的convention-plugin也提供了零配置支持等等。
?
大家還記得【7.5 集成Spring JDBC及最佳實踐】時的80/20法則嗎?零配置是不是同樣很好的體現(xiàn)了這個法則,在日常開發(fā)中同樣80%時間使用默認配置,而20%時間可能需要特定配置。
?
12.1.3? Spring3的零配置
Spring3中零配置的支持主要體現(xiàn)在Spring Web MVC框架的慣例優(yōu)先原則和基于注解配置。
?
Spring Web MVC框架的慣例優(yōu)先原則采用默認的命名規(guī)范來減少配置。
?
Spring基于注解的配置采用約定注解含義來減少配置,包括注解實現(xiàn)Bean配置、注解實現(xiàn)Bean定義和Java類替換配置文件三部分:
- 注解實現(xiàn)Bean依賴注入:通過注解方式替代基于XML配置中的依賴注入,如使用@Autowired注解來完成依賴注入。
- 注解實現(xiàn)Bean定義:通過注解方式進行Bean配置元數(shù)據(jù)定義,從而完全將Bean配置元數(shù)據(jù)從配置文件中移除。
- Java類替換配置文件:使用Java類來定義所有的Spring配置,完全消除XML配置文件。
總結(jié)
以上是生活随笔為你收集整理的零配置 之 Spring 概述的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java中CAS详解
- 下一篇: Spring 基于注解的配置