spring 开发环境_设置Spring 3开发环境

spring 开发环境

本教程简要说明了如何设置典型的环境来开发基于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环境。 有关如何在Eclipse中使用Maven进行依赖管理的动态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

spring 开发环境

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/357659.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mybaties与hibernate的不同点

hibernate是一个比较完全的ORM框架.而mybaties是一个不完全是一个ORM框架,说mybaties不完全是一个ORM框架是因为sql语句是需要自己写的.但是,mybaties也是有输入映射和输出映射的.因此它也有ORM的思想在,因此说mybaties是一个不完全的ORM框架 而且,mybaties的优胜点在与它的速度…

Java+SSM+Oracle+Navicat+Eclipse+Microsoft Visio实现网上招聘系统

导读:整体基于B/S架构,采用MyBatis框架,运用Java中的Servlet、Jsp等关键技术,并结合Oracle数据库的使用,为招聘者和求职者搭建了一个高效、便利的网络平台。本系统分别为求职者和招聘者提供了信息注册功能,登录功能和信息维护功能。除此之外,求职者可以选择发布、撤销或…

matlab求异面直线的公垂线,求异面直线的公垂线

异面直线间得距离 求异面直线之间得距离就是立体几何重、难点之一。常有利用图形性质,直接找出该公 垂线,然后求解;或者通过空间图形性质,将异面直线距离转化为......求异面直线之间距离的常用策略:求异面直线之间的距离是立体几何重、难点之一。 常有利用图形性质,直接找出该公…

cocoapods 使用时一个问题 (Unable to find a specification for `CYLTableViewPlaceHolder`)

http://blog.csdn.net/zhangao0086/article/details/39703083 这样的问题执行两句代码 :1.pod repo remove master 2.pod setup 这两句代码 把当前Pod的目录清理一下就行了,然后再 pod install 或者 pod update 就可以了转载于:https://www.cnblogs.com/shiguangji728/p/520889…

友盟U-share sdk 分享的接入(支持Android及IOS)

导读:公司的原生开发的APP有块功能原来需要分享小程序到微信,现在改成分享成H5的形式,携带的参数不讨论,这里记录一下。 官方文档:https://developer.umeng.com/docs/128606/detail/129137 安卓分享H5:https://developer.umeng.com/docs/128606/detail/193883#h2-u5206u4E…

从源文件和JAR文件构建Java代码模型

最近&#xff0c;我花了一些时间来研究有效java &#xff0c;该方法正在GitHub上达到300星&#xff08;随时帮助实现目标&#xff1a;D&#xff09;。 Effectivejava是在您的Java代码上运行查询的工具。 它基于我参与的另一个项目javaparser 。 Javaparser将Java源代码作为输入…

nsct matlab,图像融合 NSCT算法 matlab

【实例简介】经典图像融合算法&#xff0c; NSCT算法&#xff0c;为matlab 和 C 混合编译&#xff0c;修改图像地址即可方便使用【实例截图】【核心代码】NSCT└── NSCT_toolbox├── atrousc.c├── atrousc.dll├── atrousc.mexmac├── atrousdec.m├── atrousfilt…

A 标签的背景

a {-webkit-tap-highlight-color: transparent;-webkit-touch-callout: none;-webkit-user-select: none;} 转载于:https://www.cnblogs.com/LLJ748211490/p/5210391.html

前端使用正则表达式获取地址栏URL参数的值并将需要的参数值展示在页面

业务场景:APP中有个H5页面需要分享到微信,用户点击这个消息会跳转到这个网页进行信息确认,然后引导用户下载另一个应用。我们前端工程师需要做的就是将分享的参数在这个网页的地址栏进行获取并展示在信息确认页面。 分享功能请参考我上一篇文章:友盟U-share sdk 分享的接入…

javaScript中const,var,let区别与用法详解

业务场景:今天想从正则表达式数组对象取出几个参数的值,发现好多人都用的const声明的变量,这里一起总结一下吧。 上一篇——》前端使用正则表达式获取地址栏URL参数的值并将需要的参数值展示在页面 场景: 查阅相关资料,总结一下js中三种定义变量的方式const, var, let的…

MacOSX64位机器上gcc编译32位x264静态库

x264最新包地址&#xff1a;http://www.videolan.org/developers/x264.html 编译命令&#xff1a; ./configure --enable-static --hosti386-apple-darwin --host选项请参考一下连接 http://gcc.gnu.org/install/specific.htmlhttp://airs.com/ian/configure/configure_6.html#…

使用Java和Spring构建现代Web应用程序

使用Spring Framework创建Java Web应用程序从未如此简单。 如果您已经熟悉Java并且几乎没有创建Web应用程序的经验&#xff0c;或者如果您担心所有很酷的孩子都放弃Java取而代之的是Ruby和Node.js&#xff0c;那么您想读这篇。 我的意图是在此处提供实用指南&#xff0c;以快速…

PHP中怎样实现正负数的相加,PHP 求任意n个正负整数里面最大的连续和

案例描述&#xff1a;编写一个PHP函数。求任意n个正负整数里面最大的连续和&#xff0c;要求算法时间复杂度尽可能低&#xff1b;例如&#xff1a;echo getMaxSum(array(-2&#xff0c;1,3&#xff0c;9&#xff0c;-4,2,3,5&#xff0c;-3&#xff0c;-4&#xff0c;1,3))&…

前端工程师之华为手机如何打开开发者模式并进行手机调试查看原生APP效果。

导读:我这手机是华为nova 3系列手机,作为一名前端工程师,需要将代码安装包搞到手机,便于查看自己开发的功能模块是否完善。 目录 工具准备 华为手机如何打开开发者模式? 替换手机应用安装包

前端:jQuery笔记

前端&#xff1a;jQuery笔记 此系列文章乃是学习jQuery的学习笔记。Asp.net MVC Comet推送摘要: 一、简介 在Asp.net MVC实现的Comet推送的原理很简单。 服务器端&#xff1a;接收到服务器发送的AJAX请求&#xff0c;服务器端并不返回&#xff0c;而是将其Hold住&#xff0c;待…

mil跟踪算法matlab,几种目标跟踪算法性能比较

这是我自己的跟踪算法%%******************************************* 实验设置 *********************************************%%clc;clear all;%%******Change title to choose the sequence you wish to run******%%%title animal;% title board;% title car11;%title …

大前端工程师进阶之路,Node全栈为前端带来更多可能

导读:对那些刚入门前端的开发者来说,前端是一个“令人畏惧”的领域,尤其是在你看到前端的技能图谱时,你会发出这样的感叹,前端怎么有那么多的东西要学?我应该从何处学起?我又该如何应对千变万化的前端技术? 目录 如何选择? 关于变化

JMS--Queue实战

原文地址&#xff1a;http://blog.csdn.net/zhangxs_3/article/details/4034801 我们都知道Queue 即我们经常说的点对点或者生产者/消费者 模型。 生产者将消息发送到队列&#xff0c; 消费者从队列中消费消息&#xff0c;一个消息指能被消费一次。下面例子中启动了两个消费者一…

hmac hmac.new_使用HMAC(Play 2.0)保护REST服务

hmac hmac.new我们有HTTPS&#xff0c;还需要什么&#xff1f; 当您谈论基于REST的API的安全性时&#xff0c;人们通常会指向HTTPS。 借助HTTPS&#xff0c;您可以使用每个人都熟悉的方法轻松保护您的服务免遭窥视。 但是&#xff0c;当您需要更高级别的安全性或HTTPS不可用时&…

java怎么打印writer,Java PrintWriter print()方法

Java PrintWriter print()方法java.io.PrintWriter.print(String s) 方法打印的字符串。如果参数为null&#xff0c;则输出字符串“null”。否则&#xff0c;将根据平台的默认字符编码将字符串的字符转换为字节&#xff0c;并以完全write(int)方法的方式写入这些字节。1 语法pu…