設置Spring 3開發環境

本教程簡要說明了如何設置典型的環境來開發基于Spring的應用程序。 除了可以正常工作的Windows XP客戶端具有足夠的CPU能力和內存外,本教程沒有其他先決條件。 在教程中,我們將需要安裝以下組件:
  • Java 6 JDK更新26
  • 用于Java EE開發人員的Eclipse IDE 3.6.2(Helios)
  • Maven的3.0.3
  • Tomcat 7.0.14

我建議您創建一個文件夾,在其中放置設置環境所需的所有內容。 我的文件夾是C:\ spring。 當我引用它時,我將其稱為<dev_home>。

注意:可以通過不同方式設置Spring環境。 請參見此處的示例,以了解如何使用Maven進行依賴管理來在Eclipse中設置動態Web項目。 將其與此鏈接結合在一起,以了解如何使用Maven將Spring依賴項下載到Eclipse中。 但是,我個人更喜歡逐步安裝單獨的組件并自己集成它們。 通過這種方式,我學到了很多有關工具如何協同工作以及如何集成它們的知識,以及在出現問題時如何修復它們的方法!

在本教程中,我們將創建一個演示項目。 我們使用的是眾所周知的Spring MVC,Spring Core,JPA,Hibernate(“僅Web容器”)開發堆棧。 此堆棧已成功用于許多生產型企業應用程序中。 該演示可用于開始您自己的企業項目的開發。

安裝Java 6 JDK

您首先需要的是-猜猜是什么-Java! 您可以從此處下載Java JDK。 不要下載NetBeans或Java EE。 您不需要它。 您只需要一個Java JDK。 因此,選擇Java JDK下載按鈕。 然后,為您的操作系統選擇下載按鈕。 對我來說,那是舊的Windows x86。 您將Java作為自解壓縮的.exe文件。 當安裝程序要求輸入目標安裝目錄時,將其設置為<dev_home> / java。

為Java EE開發人員安裝Eclipse IDE

現在要做的是安裝集成開發環境。 我更喜歡使用Eclipse進行開發。 它有一個龐大的社區,所有Maven和Tomcat之類的東西都與Eclipse很好地集成在一起。 要下載Eclipse,請執行以下步驟:

  • 在<dev_home>中創建一個名為“ eclipse”的子文件夾。
  • 打開您的Web瀏覽器。
  • 轉到Eclipse下載頁面
  • 在右上角,選擇適合您的操作系統的下載鏈接。 對我來說是Windows 32位。
  • 按照說明下載Eclipse ZIP-Package。

下載Eclipse軟件包時,可以將其解壓縮到<dev_home> / eclipse。 解壓縮Eclipse之后,此安裝完成。

要啟動Eclipse,您可以雙擊<dev_home> / eclipse文件夾中的eclipse.exe文件。 當您以這種方式啟動Eclipse時,您將獲得標準的啟動配置。 這可能會導致一些問題,例如內存不足異常。 我建議使用.cmd文件中的一些啟動參數來啟動Eclipse。 以下清單顯示了我的典型啟動腳本:

@echo off
set  DEV_HOME=C:\spring
set JAVA_HOME=%DEV_HOME%\javaset PATH=%JAVA_HOME%\bin;%PATH%start %DEV_HOME%\eclipse\eclipse.exe -vm %JAVA_HOME%\bin\javaw.exe -showlocation -vmargs -server -Xms512m -Xmx1024m -XX:MaxPermSize=128m

讓我們創建自己的啟動腳本:

  • 在<dev_home> / eclipse文件夾中,創建一個名為eclipse.cmd的文本文件。
  • 將上面的清單放入文件中,保存文件并關閉它。
  • 要啟動Eclipse,請雙擊eclipse.cmd文件。

如果一切正常,那么您將看到以下屏幕:

在Eclipse中,所有開發源都放置在Eclipse項目中。 所有項目都在您的工作區中。 在這里您可以輸入Eclipse創建工作空間的目錄

  • 在“工作空間”字段中輸入<dev_home> / workspace。
  • 按“確定”按鈕。

如果一切順利,您將在Eclipse中獲得以下屏幕。

從這里開始,執行以下操作以準備好Eclipse來開發應用程序。

  • 在菜單欄中選擇“窗口/關閉透視圖”。
  • 在菜單欄中選擇“窗口” /“打開透視圖” /“其他”。
  • 選擇Java EE透視圖,然后單擊“確定”。

現在我們離開Eclipse,因為還有其他事情要做。 要關閉Eclipse,請在菜單欄中選擇File / Exit。

使用Maven 3創建Eclipse項目

在本教程中,我們使用Maven 3設置Eclipse項目。 Maven在這里非常易于使用。 關于生命周期工具,還有其他選擇,例如Gradle或ANT。 我仍然經常使用ANT,因為我喜歡完全掌控事物。 但是,為了簡化本教程,我們使用Maven 3,因為它使標準項目的設置非常容易。 要獲取Maven 3的副本,請執行以下操作:

  • 轉到Maven下載頁面 。
  • 選擇鏡像apache-maven-3.0.3-bin.zip(對于Windows)。
  • 選擇要在其中下載副本的鏡像。
  • 將ZIP文件解壓縮到<dev_home> / maven中。

“ Maven將使用合理的默認值運行,因此您可以直接使用它。 但是,如果您在受限環境中或防火墻后面運行,則可能需要準備運行Maven,因為它需要對主目錄(Windows上為C:\ Documents and Settings \ username \ .m2)和網絡進行寫訪問。可以下載二進制依賴項。” 有關如何配置代理服務器的信息,請參見此處 。 (摘自Maven手冊 )

現在,我們下載并解壓縮了Maven之后,就可以使用它了。 請執行下列操作:

  • 啟動命令提示符窗口
  • 轉到<dev_home> / workspace
  • 如下設置PATH變量:set PATH = <dev_home> \ maven \ bin;%PATH%。 不要忘記用開發環境主目錄替換<dev_home>。
  • 鍵入mvn –version。 Maven現在應該與您交談并回答以下內容:
  • 現在,我們準備創建Eclipse項目。 Maven使用原型為您建立了一個完整的項目。 有很多可用的原型。 要獲取列表,只需輸入mvn archetype:generate。 這將啟動一個交互式批處理實用程序,您可以在其中立即查看Maven支持的所有原型。 因為我們知道我們想創建一個Spring項目,所以不需要交互模式。 輸入以下內容以創建Spring項目:

mvn原型:generate -DarchetypeGroupId = org.fluttercode.knappsack -DarchetypeArtifactId = spring-mvc-jpa-demo-archetype -DarchetypeVersion = 1.1 -DgroupId = com.mycompany.springapp -DartifactId = my-spring-app -Dversion = 1.0-SNAPSHOT -DinteractiveMode =假

  • 在<dev_home> / workspace文件夾中,現在應該有一個名為my-spring-app的新文件夾。 轉到該目錄。
  • 打開pom.xml文件以查看項目的依賴項。 pom.xml文件是Maven的主要配置文件。 這里指定為項目依賴項的所有內容均由Maven下載。 實際上,Maven還檢查您是否具有傳遞依賴關系,因為它分析了直接依賴關系的依賴關系。 這樣,您就沒有負擔手動將東西粘在一起。 感謝上帝,這個非常有用的功能!
  • 在命令提示符下,輸入以下Maven命令:mvn eclipse:eclipse。 這將在當前文件夾中生成一個完整的Eclipse項目。 這將花費時間,因為Maven下載了運行Spring應用程序所需的所有依賴庫。 您現在可以真正去喝咖啡了。 如果一切正常,那么您會在Maven控制臺輸出的末尾看到以下內容:

現在就完成了創建具有所有Spring依賴項的Eclipse項目的工作。

注意:您注意到Spring下載了很多東西來使所有東西運行。 Spring提供了很多功能,并且向下兼容。 許多人抱怨它不再是輕量級的。 它們恰好指代此依賴項列表。 我的看法是,別無選擇。 其他方法完全一樣,但是只是在幕后。 通常,如果出現問題,您就不知道為什么。 至少當您使用Spring時,您就知道自己的依賴關系,也知道自己所需要的東西。 沒有什么隱藏的。 我更喜歡完全理解這些技術知識,因此如果出現問題,我可以幫助自己。

注意:如果要設置Java EE 6環境,請繼續執行Java EE 6教程。 本教程的其余部分專門針對Spring設置。

將新項目添加到Eclipse工作區

我們必須使該項目對Eclipse可見。 執行以下步驟。

  • 要打開Eclipse,請轉到<dev_home> / eclipse,然后雙擊eclipse.cmd。
  • 如果出現“工作區對話框”,請確保在<dev_home> / workspace下選擇正確的工作區。 按“確定”。
  • 在Eclipse中,從菜單欄中選擇File / Import。
  • 在“導入”對話框中,選擇“現有項目到工作區”,然后選擇“下一步”。
  • 選擇<dev_home> / workspace / my-spring-app作為項目的根目錄。
  • 按“完成”。

該項目將被導入。 導入完成后,您將認識到底部的“標記”視圖顯示了各種錯誤和警告。

現在,Eclipse不知道Maven將Spring庫(JAR文件)放在哪里。 當您下載pom.xml文件中指定的依賴項時,Maven將jar文件放入本地存儲庫中。 現在,默認情況下,Eclipse不知道此Maven存儲庫在本地計算機上的位置。 因此,Eclipse無法構建項目。 結果,底部的“標記”視圖顯示了各種錯誤消息。您可以使用Maven輕松設置缺少的環境變量。 為此,請執行以下操作:

  • 從菜單欄中使用文件/退出關閉Eclipse。
  • 轉到我們先前打開的命令窗口。
  • 鍵入:mvn -Declipse.workspace = <dev_home> / workspace eclipse:add-maven-repo。 按回車。 Maven現在將為您創建變量。
  • 再次打開Eclipse(雙擊<dev_home> /eclipse/eclipse.cmd)
  • 在Eclipse中,選擇菜單欄中的Project / Clean,然后選擇“ Clean all Projects”,然后在對話框中按OK。 Eclipse現在將重新編譯源代碼。 記住這一點,當您使用Eclipse時,有時會需要它。

構建路徑錯誤在“標記”視圖中消失了。

如果您在防火墻后面工作,則Eclipse無法訪問Internet來驗證某些XML文件的語法。 您需要配置代理設置。

  • 從菜單欄中轉到窗口/首選項。
  • 在“首選項”選項卡上,轉到“常規/網絡連接”。
  • 將“活動提供者”設置為“手動”,然后在所選代理設置中進行更改。

這又將減少“標記”視圖中的警告數量。

現在忽略其他警告。 一切都會順利進行。

安裝Tomcat 7

接下來,您需要一個容器,您可以在其中部署spring應用程序。 我將Tomcat用作本地開發的容器。

  • 轉到Tomcat下載頁面 。
  • 下載32位Windows ZIP文件。
  • 在您的<dev_home>文件夾中,創建一個新的“ tomcat”文件夾,然后在其中解壓縮tomcat。
  • 轉到Eclipse Workbench。
  • 在菜單欄中選擇窗口/顯示視圖/服務器
  • 右鍵單擊視圖,然后從上下文菜單中選擇“新建/服務器”。
  • 在“新服務器”對話框中,選擇“ Apache / Tomcat v7.0服務器”,然后單擊“下一步”。
  • 在下一個對話框中,輸入<dev_home> / tomcat作為安裝目錄。 點擊下一步”。
  • 在下一頁上,選擇my-spring-app并單擊“添加”以配置Eclipse使用新的Server作為運行時容器。 選擇“芬蘭語”。

現在已配置了Eclipse。 它知道您將Tomcat 7用作Web容器,并且將正確部署新的Spring應用程序以在本地環境中對其進行測試。

注意:“當Eclipse在Eclipse工作區中創建Tomcat文件夾時,它會忘記復制Tomcat默認應用程序(ROOT,示例等)。 轉到C:\ apache-tomcat-7.0.8 \ webapps,右鍵單擊ROOT文件夾并將其復制。 然后轉到Eclipse工作區,轉到.metadata文件夾,然后搜索“ wtpwebapps”。 您應該找到類似your-eclipse-workspace \ .metadata \ .plugins \ org.eclipse.wst.server.core \ tmp0 \ wtpwebapps(如果已經在Eclipse中注冊了另一臺服務器,則為…/ tmp 1 / wtpwebapps)。 轉到wtpwebapps文件夾,右鍵單擊并粘貼ROOT(如果詢問是否要合并/替換文件夾/文件,請說“是”)。 然后重新加載http:// localhost /以查看Tomcat歡迎頁面。” (摘自: coreservlets.com )

啟動和使用演示應用程序您現在可以測試安裝。 您將執行以下操作:

  • 在Eclipse中啟動Tomcat服務器。 轉到“服務器”視圖。
  • 選擇Tomcat服務器,然后右鍵單擊上下文菜單。
  • 選擇“調試”。 這將以調試模式啟動Tomcat服務器。 您可以在Eclipse中看到服務器日志。
  • 選擇“控制臺”視圖,然后注意到Tomcat與您對話。 確保您在此處看不到任何異常痕跡。
  • 現在,由于Tomcat已啟動,請打開瀏覽器并轉到: http:// localhost:8080 / my-spring-app
  • 這將打開您的Spring應用程序。 玩一點。

你完成了! 您已經安裝并啟動了典型的Spring開發環境。 此設置將是我后續的Spring教程的前提條件。 我將向您介紹Spring框架的不同功能。

您可能遇到的一些錯誤以及解決方法

找不到“ http://java.sun.com/jsp/jstl/core”的標記庫描述符。可以在Eclipse項目中將目標運行時設置為將執行Web應用程序的服務器(例如,對于JSF:Glassfish) ),然后Eclipse將從那里加載所需的庫。 轉到“項目->屬性->目標運行時”,然后選擇您的運行時。

JCG合作伙伴的 參考資料: “設置Spring 3開發環境” ? 尼克拉斯。


翻譯自: https://www.javacodegeeks.com/2012/02/set-up-spring-3-development-environment.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/373713.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373713.shtml
英文地址,請注明出處:http://en.pswp.cn/news/373713.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

3. 跟蹤標記 (Trace Flag) 1204, 1222 抓取死鎖信息

跟蹤標記&#xff1a;1204/1222 功能及用途&#xff1a; 捕獲SQL Server死鎖信息&#xff0c;并自動存放到錯誤日志(ERRORLOG)中。 舉例&#xff1a; USE tempdb GO CREATE TABLE t1(id int) INSERT t1 SELECT 1CREATE TABLE t2(id int) INSERT t2 SELECT 1 GO --開啟1204/1222…

postgresql建表帶注釋_postgresql建表帶自增id和注釋語句

work是表名&#xff0c;nextval(work_myid_seq::regclass)這個是自增id的設置CREATE TABLE "public"."work" ("id" int8 NOT NULL DEFAULT nextval(work_myid_seq::regclass),"wid" int8,"address" varchar(100) COLLATE &q…

js中window.onload 與 jquery中$(document.ready()) 測試

js中window.onload 與 jquery中$(document.ready())區別&#xff0c;驗證代碼如下(調換js代碼和Jquer代碼書寫順序測試&#xff0c;運行結果一樣&#xff0c;因此與代碼書寫位置沒關系)&#xff1a;<html> <head> <script typetext/javascript srcjquery-1.11.1…

5. Longest Palindromic Substring

更新&#xff1a; 之前那種dp太笨重了有個非常的輕巧的做法&#xff0c;原理都是一樣的。 轉移方程不變&#xff0c;但是不需要特別的初始化 判斷某個格子是不是true&#xff0c;是 1.要么長度小于3&#xff0c;要么dp[start1][end-1]true 2.并且s.charAt(start) s.charAt(end…

Java中的定制國際化(i18n)

國際化&#xff08;i18n&#xff09;在我們的軟件項目中非常重要。 它主要帶來以下好處&#xff1a; 將UI字符串外部化為除代碼文件之外的外部文件&#xff0c;以及易于管理的UI內容。 支持多種語言。 在這篇文章中&#xff0c;將為Eclipse和Java項目提供一個簡短的i18n實際示…

SEO 百度后臺主動推送鏈接

實踐步驟&#xff0c;先用爬蟲程序將本網站的所有連接爬取出來&#xff0c;再用python文件處理程序把爬蟲來的東東整理成一行一個鏈接的文本格式。再用postman接口測試工具&#xff0c;使用post方式&#xff0c;將所有的鏈接post過去&#xff0c;這樣主動推送是最為快速的提交方…

linux版本 如何查kali_000_Kali Linux版本查看和apt源配置

1.查看系統版本# cat /etc/issue# lsb_release -a2.查看內核信息# uname -a3.更新源# cp /etc/apt/source.list{,.bak}# vim /etc/apt/sources.list//備注&#xff1a;國外源速度太慢&#xff0c;這里禁止&#xff1b;網絡中的部分源已經過期&#xff0c;建議更換其它源。# kal…

nyoj--127--星際之門(一)(生成樹的數量)

星際之門&#xff08;一&#xff09; 時間限制&#xff1a;3000 ms | 內存限制&#xff1a;65535 KB難度&#xff1a;3描述公元3000年&#xff0c;子虛帝國統領著N個星系&#xff0c;原先它們是靠近光束飛船來進行旅行的&#xff0c;近來&#xff0c;X博士發明了星際之門&…

Oracle 常用的一些函數

字符函數 SELECT UPPER(hello WORLD) FROM DUAL; //將小寫字母變為大寫字母SELECT LOWER(hello WORLD) FROM DUAL; //將大寫字母變為小心字母SELECT INITCAP(hello WORLD) FROM DUAL; //將字符串的首字母大寫SELECT CONCAT(hello, world) FROM DUAL; //字符串拼…

Apache Camel 2.9發布–十大變化

在2011年的最后一天&#xff0c;阿帕奇駱駝制品被成功地推到了中央行銷倉庫&#xff0c;距離香檳酒瓶破裂并進入2012年僅1.5個小時之遙。 2.9版是創紀錄的發行版&#xff0c;自5個月前發布2.8版以來&#xff0c;已解決了約500張JIRA票證。 以下是10個最明顯的改進和新功能的分…

HTML5筆記——formData

注&#xff1a;formData中的數據在控制臺上的console里面是打印不出來的&#xff0c;只能在控制臺的network里面查看到具體的發送數據和發送選項 文章出處&#xff1a;夢想天空 XMLHttpRequest Level 2 添加了一個新的接口——FormData。利用 FormData 對象&#xff0c;我們可以…

JavaScript 學習隨記——==和===及常見元素的真假值

“” 和 “” 符合的使用 <script>/*** 表示可以經過自動轉換&#xff0c;比較的是數值*///example01if(1 true && false 0 && true 1){console.log(1true);console.log(" 比較的是等號兩邊數據的值是否相等&#xff08;可以經過自動轉換&#…

運維祈求不宕機_[國慶特輯] 程序員應該求誰保佑才能保證不宕機?

一年國慶又到&#xff5e;程序猿、運維工程師、利用假期該結婚的結婚&#xff0c;該回老家的回老家。產品經理、項目經理們也要出國旅游了(好像這次是去東京玩)&#xff0c;并且叮囑一定要安排好值班表。我是個程序員&#xff0c;我也想出國旅游&#xff0c;卻覺得有點兒貴。多…

Oracle Weblogic 11g(10.3.4)的小知識

本周&#xff0c;我將為Weblogic進行許多設置和配置&#xff08;我猜是開發人員&#xff09;。 在過去的4年中&#xff0c;我一直在與Weblogic合作&#xff0c;并且我不得不承認-與Eclipse類似-我已經開始使用它。 我曾經是Netbeans / JBoss開發人員&#xff0c;后來轉向Eclips…

java中HashMap的用法

重點介紹HashMap。首先介紹一下什么是Map。在數組中我們是通過數組下標來對其內容索引的&#xff0c;而在Map中我們通過對象來對對象進行索引&#xff0c;用來索引的對象叫做key&#xff0c;其對應的對象叫做value。在下文中會有例子具體說明。 再來看看HashMap和TreeMap有什么…

關于 MVCC 的基礎

作為第一篇對 MVCC 的學習材料&#xff0c;以下內容翻譯自 Wikipedia。 1. 什么是MVCC 1.1 基礎概念 MVCC&#xff0c;Multi-Version Concurrency Control&#xff0c;多版本并發控制。MVCC 是一種并發控制的方法&#xff0c;一般在數據庫管理系統中&#xff0c;實現對數據庫的…

集成測試CDI 1.0和Spring 3.1中的作用域bean

在這篇博客文章中&#xff0c;我描述了如何在Spring和CDI中使用作用域bean進行集成測試。 一切都用小代碼示例進行說明。 使用范圍進行集成測試并不是特別容易。 想象一下存在于會話范圍內的bean&#xff0c;例如UserCredentials 。 在集成測試中&#xff0c;通常沒有HttpReque…

JavaScript學習隨記——數組一

數組的創建及length屬性 <script type"text/javascript" charset"utf-8">// 數組創建方式一,此種方式寫的時候比較麻煩var arrnew Array();// 數組創建方式二var arr [1,2,3,4,true,str,new Date()];console.log("arr.length&#xff1a;"…

USACO milk4 枚舉答案再檢驗

剛開始寫了一個暴力的dfs超時了&#xff0c; 最后看了下題解說是先枚舉答案再判斷&#xff0c;然后就寫了雙dfs&#xff0c;全部秒殺&#xff0c;代碼如下&#xff1a; /*ID: m1500293LANG: CPROG: milk4 */ #include <cstdio> #include <cstring> #include <al…

微信小程序常見問題集合(長期更新)

最新更新&#xff1a; 新手跳坑系列&#xff1a;推薦閱讀&#xff1a;《二十四》request:fail錯誤&#xff08;含https解決方案&#xff09;&#xff08;真機預覽問題 跳坑指南《七十》如何讓微信小程序服務類目審核通過跳坑六十九&#xff1a;uploadFile:fail Error: unable t…