亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Spring MVC框架的高級配置

2019-11-18 11:35:24
字體:
來源:轉載
供稿:網友

  本文將為您提供關于SPRing MVC框架的配置技巧,以幫助治理基于Spring的web應用程序的多個實例。本配置治理主題常被學術界所忽略,但是,這對于現實的web開發尤為重要。本主題并不直接關聯任何具體的技術,因此,我們將從最基本的概念開始對這個問題進行說明。下面,我們將根據Spring MVC框架,為基于本技術開發的項目提供一系列的解決方案。

  Spring配置

  人們經常會在一臺以上的主機上配置一種Web應用程序。例如,在生產中,一個網站可能只有一個實例。除了此實例外,開發人員可以在用于開發的機器上配置其他的(開發)實例。也可以在公司(機構)內部的本地開發服務器上維護其他應用程序裝置,這將讓您受益匪淺。該實例的目的是使Web設計者可以獲得有質量保證的材料,并為需要為應用程序提供文件資料的人提供準入。

  大家都知道,即使是最簡單的場景,也需要安裝、配置和維護三個實例。而對于位于不同地理位置的團隊來說,要從事這樣的項目便更加困難。對于任何不是非凡簡單的Web應用程序項目,都需要多名開發人員來安裝項目裝置和本地設置以及運行單元測試的裝置等。

  很多組織都將自己開發的產品作為Web應用程序。我們可以在很多產品中發現這種情況,例如電子商務系統、內容治理系統(CMS),以及博客發布平臺等。這類產品可在多個服務器中進行部署。對于成功的多用途Web應用程序來說,他們的開發人員必須要保證他們的應用程序便于安裝,并且能夠與其他Web應用程序完美集成。經過上述討論之后,我們應該明了,作為本文主題的應用程序配置是通用Web應用程序項目開發人員所需要解決的重要問題之一。

  諸如CVS或Subversion之類的版本控制系統是開發組織使用的一種標準工具。這種工具代表了一些組織的中心源代碼版本庫,它們被用于保持源代碼的有序。用戶可以跟蹤應用程序源代碼的變化,顯示不同版本的區別,并可以確定項目分支。而且,它們使得在應用程序部署中進行部分更新成為可能。

  很明顯,版本控制系統軟件是跟蹤源代碼所必需的,它對于解決應用程序配置問題有非常大的幫助。在本文中,我們將不會把重點放在版本控制系統上,因為這方面已經有很多相關的材料了。在此,我們將關注版本控制問題中的一個小話題:如何使Web應用程序的配置更加便捷(尤其是使用Spring MVC框架編寫的Web應用程序)。

  問題是:我們在此討論的是一種什么樣的配置?任何Web應用程序都需要一些資源,這些資源通常都是其所運行的服務器所特有的,例如數據庫URL、發送電子郵件的SMTP服務器,以及包含專用軟件文件的文件夾等。這樣的設置應該集中,從而使應用程序配置更加簡單。

  但是,這只是這個問題最簡單的一種版本。有時候,在應用程序開發中需要更加復雜的配置。這意味著,必須將各次部署中的不同Bean連接起來,而這會使問題更加復雜。

  這些應用程序配置問題的解決方案有諸多優勢,包括:簡化應用程序的安裝和配置過程,使源代碼版本控制更加簡便,減少源代碼版本庫中的沖突現象。下面,我們將通過示例具體討論這個話題。

  問題

  我們首先來演示一下上文所提到的最簡單的版本。在這一場景中,我們希望在應用程序部署中改變的是簡單的配置參數,例如鏈接、密碼等。假如您曾經使用Spring MVC框架開發過Web應用程序,那么您應該知道這里將用到的兩個配置文件:
  • /WEB-INF/applicationContext.xml,它讓您可以配置Bean,或者顯示應用程序上下文。通過這個文件,您可以定義自己的業務邏輯Bean、資源以及其他可以與Web端口相關聯的所有Bean。
  • /WEB-INF/[servlet-name]-servlet.xml,它被用于配置Web層、視圖解析器、控制器、校驗器以及其他所有MVC框架中必需的Bean。[servlet-name]指的是在web.xml部署描述符中定義的Spring dispatcher servlet的名稱。

  那么問題在哪兒呢?問題就出在applicationContext.xml中將包括一些特定于主機的Bean定義。其中,最明顯的一個示例就是包含了JDBC連接信息的bean,但是任何一種稍微復雜些的應用程序都有十幾個類似的Bean??匆幌孪旅娴氖纠?br />
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
   <property name="driverClassName">
       <value>org.postgresql.Driver</value>
   </property>
   <property name="url">
       <value>jdbc:postgresql://localhost/test</value>
   </property>
   <property name="username">
       <value>postgres</value>
   </property>
   <property name="passWord">
       <value></value>
   </property>
</bean>
  這個解決方案的問題在于對applicationContext.xml文件的維護。對于初學者來說,設想一下,項目放在源代碼版本控制系統中,例如CVS。下面,假設您希望在網站中添加新的功能,那么就需要在應用程序上下文定義中添加額外的Bean定義。問題是如何在生產服務器上體現這些改變。

  通常情況下,應用程序的本地實例不會與活動站點使用同樣的數據庫,因此applicationContext.xml文件將包括讓您能夠訪問本地數據庫的設置。當您想提交在源代碼版本庫中的改變時,就需要注重這些特定于主機屬性的同步性。版本庫中的文件最終可能使用本地設置中的配置。假如想在生產服務器上更新配置,就必須手動同步這些屬性的值。這是非??菰锏娜蝿?,而且還非常輕易出錯。

  對于應用程序的每個實例來說,這個問題更加重要。假如有三位開發人員正在使用代碼段基址,而且他們使用的是本地的數據庫。當您提交更改的時候,他們每個人在本地服務器上更新源代碼的時候都必須非常謹慎。他們會手動同步這些更改,然后提交他們的工作。這樣一來,版本控制系統對于這些配置文件來說已經毫無用處。假如曾經使用過Spring MVC,那么您應該知道applicationContext.xml是應用程序中的要害組件,因為是它將所有的東西粘合在一起。所以,我們需要一種機制來幫助使應用程序中各項保持有序,這點非常重要。

  正如前面所提到的,這是您可能碰到的較簡單的配置問題。更難的問題出現在當需要在不同服務器中進行不同的Bean連接的時候。這類問題常會出現在日常軟件開發任務中。例如,假如您的產品有一個客戶身份驗證模塊,可以對來自關系數據庫或LDAP服務器中的用戶進行身份驗證。自然,這一身份驗證模塊可以使用抽象了特定版本庫的Bean進行配置。假如您想改變不同應用程序部署中驗證用戶的方式,就需要在applicationContext.xml文件中進行不同的Bean連接。這種配置問題常見于在部署中有可配置特性的所有應用程序。

  在下文中,我們將討論這兩種配置問題。首先我們會關注同步的Bean屬性問題及其解決方案,接下來,我們會討論更加復雜的同步Bean連接問題。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久中文字幕| 最近2019免费中文字幕视频三| 日韩免费黄色av| 成人h视频在线| 啊v视频在线一区二区三区| 久久久久久久久中文字幕| 97视频在线观看免费| 美日韩精品视频免费看| 亚洲欧美日韩网| 欧美性猛交xxxx久久久| 日韩欧美成人区| 久久不射电影网| 欧美极品第一页| 91大神在线播放精品| 欧美电影免费看| 久久香蕉国产线看观看av| 日本精品视频在线观看| 欧美高清在线视频观看不卡| 国产精品日韩久久久久| 日韩中文字幕免费视频| 国模精品视频一区二区三区| 亚洲开心激情网| 日韩精品www| 欧美激情区在线播放| 91精品一区二区| 久久久久久午夜| 欧美激情在线一区| 国产精品一区二区三区毛片淫片| 国产精品久久不能| 高清欧美性猛交| 一区二区三区视频免费在线观看| 国产香蕉一区二区三区在线视频| 91免费在线视频| 91精品国产综合久久香蕉最新版| www高清在线视频日韩欧美| 成人免费视频在线观看超级碰| 国产精品丝袜高跟| 久久国产精品影片| 日本精品视频在线播放| 亚洲电影天堂av| 精品国产91久久久| 精品国产乱码久久久久久天美| 欧美视频免费在线| 欧美丰满少妇xxxxx做受| 日韩在线欧美在线国产在线| 国产午夜精品全部视频在线播放| 久久国产精品久久精品| 日韩色av导航| 欧美成人精品在线播放| 日韩欧美a级成人黄色| 亚洲精品ady| 91热精品视频| 不卡中文字幕av| 日韩av影片在线观看| 欧美三级欧美成人高清www| 久久久之久亚州精品露出| 亚洲国产精品成人精品| 亚洲国产古装精品网站| 亚洲国产精品中文| 亚洲a∨日韩av高清在线观看| 国产成人精品av在线| 欧美日韩国产精品一区二区不卡中文| 日韩二区三区在线| 亚洲国产精品资源| 日韩国产精品一区| 国产精品视频网| 欧美日韩国产999| 国产欧美精品久久久| 精品网站999www| 一区二区三区久久精品| 欧美激情视频在线观看| 亚洲最大福利视频| 亚洲性视频网址| 国产亚洲人成网站在线观看| 国产精品一区二区久久国产| 亚洲成人久久久| 91久久久久久久| 亚洲日韩中文字幕在线播放| 欧美激情aaaa| 国产精品久久久久77777| 亚洲精品中文字幕有码专区| 精品成人国产在线观看男人呻吟| 中文字幕久久亚洲| 国产日韩精品综合网站| 国产综合在线观看视频| 国产女人精品视频| 欧美国产日产韩国视频| 中文字幕视频一区二区在线有码| 欧美成人免费网| 亚洲三级免费看| 亚洲美女av在线| 亚洲区一区二区| 91精品国产91久久久久久不卡| 亚洲人成在线观看网站高清| 久久久欧美一区二区| 亚洲人成伊人成综合网久久久| 色yeye香蕉凹凸一区二区av| 国产美女精品视频| 国产91ⅴ在线精品免费观看| 国产精品丝袜视频| 日韩激情视频在线| 亚洲成人999| 美日韩丰满少妇在线观看| 欧美高清电影在线看| 日韩高清人体午夜| 亚洲国产日韩欧美在线99| 欧美性猛交xxxx乱大交极品| 亚洲欧美变态国产另类| 亚洲大胆人体视频| 久久精品在线视频| 国产不卡av在线| 久久久午夜视频| 亚洲天堂一区二区三区| 欧美一级淫片丝袜脚交| 国产日本欧美一区二区三区在线| 日韩激情av在线播放| 日韩免费中文字幕| 97碰碰碰免费色视频| 亚洲人成电影网站色xx| 国产欧美一区二区白浆黑人| 欧美激情综合亚洲一二区| 欧美极品少妇xxxxⅹ喷水| 久久久www成人免费精品| 这里精品视频免费| 国产丝袜精品第一页| 欧美大秀在线观看| 性亚洲最疯狂xxxx高清| 成人免费看片视频| 久久综合久久八八| 欧美性猛交xxxx偷拍洗澡| 97人人模人人爽人人喊中文字| 亚洲色图色老头| 91探花福利精品国产自产在线| 精品久久久久久久久久久久久久| 一个人www欧美| 久久久中精品2020中文| 久久久噜噜噜久噜久久| 清纯唯美日韩制服另类| 精品亚洲va在线va天堂资源站| 亚洲色图美腿丝袜| 欧美色另类天堂2015| 91中文在线观看| 亚洲视频综合网| 亚洲国产精品久久久久秋霞不卡| 亚洲第一页中文字幕| 久久久久日韩精品久久久男男| 久久久久久久国产精品视频| 一个人www欧美| 亚洲激情国产精品| 欧美另类极品videosbest最新版本| 国产成人精品亚洲精品| 亚洲天堂网站在线观看视频| 国产精品成av人在线视午夜片| 国产精品视频免费在线| 亚洲毛片在线观看.| 日日骚久久av| 国产最新精品视频| 日韩在线中文字| 国产精品免费福利| 亚洲第一二三四五区| 亚洲aa中文字幕| 亚洲精品久久久久中文字幕欢迎你| 亚洲综合在线播放| 亚洲高清福利视频|