成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Spring MVC框架的高級配置(上)

開發 后端
本文介紹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。看一下下面的示例:

  1. <bean id="dataSource" class="org.springFramework.jdbc.                                         datasource.DriverManagerDataSource">    
  2. <property name="driverClassName">  <value>org.postgresql.Drivervalue>    
  3. property>    
  4. <property name="url">   
  5. <value>jdbc:postgresql://localhost/testvalue>    
  6. property>    
  7. <property name="username">    
  8. <value>postgresvalue>    
  9. property>    
  10. <property name="password">    
  11. <value>value>    
  12. property>   
  13. bean> 

這個解決方案的問題在于對applicationContext.xml文件的維護。對于初學者來說,設想一下,項目放在源代碼版本控制系統中,例如CVS。下面,假設您希望在網站中添加新的功能,那么就需要在應用程序上下文定義中添加額外的Bean定義。問題是如何在生產服務器上體現這些改變。

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

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

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

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

【編輯推薦】

  1. Spring MVC框架的高級配置(下)
  2. 簡單介紹Spring osgi
  3. Spring OSGi的整合
  4. 在Spring中配置Glassfish JPA
  5. 解決Spring2.0向spring2.5遷移的問題
責任編輯:佚名 來源: IT168
相關推薦

2009-06-19 11:43:59

Spring MVC框

2009-06-24 16:01:28

Spring MVC

2019-08-15 10:56:10

WebServletSpring mvc

2022-04-30 08:43:52

Spring模塊化框架

2009-03-13 10:58:48

ASP.NetMVC框架編程

2009-06-19 17:05:08

MVC框架Struts和Spri

2022-05-30 11:17:44

Spring容器配置

2011-02-24 15:11:00

MVC框架

2010-01-08 12:03:42

ibmdwREST

2012-10-22 16:55:48

JavaMVC

2011-12-05 13:44:34

JavaSpringMVC

2010-10-09 08:41:40

Mono 2.8

2017-11-23 17:21:31

Yii框架IntelYii框架深度剖析

2009-04-24 09:43:09

.NETASP.NET框架

2009-07-22 10:34:37

ActionInvokASP.NET MVC

2009-02-02 09:04:52

MVC框架Java

2009-02-02 09:08:38

MVC框架控制器CakePHP

2013-03-21 13:56:21

JavaScriptBackBone

2012-06-17 20:19:29

2009-07-24 13:20:44

MVC框架ASP.NET
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 自拍偷拍第一页 | 久久新 | 婷婷亚洲综合 | www国产成人免费观看视频,深夜成人网 | 国产区在线视频 | 激情 一区 | 国产在线二区 | 龙珠z国语版在线观看 | 久久久久久久一区 | 久久久www成人免费精品 | 国产一级特黄视频 | 成人a视频 | 九九视频在线观看 | 婷婷久久综合 | 在线观看视频中文字幕 | 亚洲97 | 国产精品免费在线 | 中文字幕第二区 | 欧美成人免费在线 | 在线免费观看黄a | 在线91 | 久久精品毛片 | caoporn国产 | 亚洲精品一区二区三区中文字幕 | 99综合| 日韩国产一区 | 久久伊人操 | 91精品久久久久久久久 | 日韩在线中文字幕 | 亚洲欧美日韩久久 | 亚洲免费在线 | 手机看片在线播放 | 国产欧美精品一区二区三区 | 亚洲精品一区二区三区在线 | 婷婷综合色 | 情侣黄网站免费看 | 久久久999国产精品 中文字幕在线精品 | 久草视 | 国产精品一区一区 | 欧美黑人激情 | 国产成人精品久久二区二区 |