文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

JAVA学习之一步步搭建spring框架

2023-05-31 00:30

关注

前言

作为一个服务端开发感觉一直挺排斥框架这种东西的,总觉得什么实现逻辑都帮你封装在里面了,你只需要配置这配置那个,出了问题也不知道怎么排查,之前即使写web程序也宁愿使用jetty这样的嵌入式的web server实现,自己写servlet,总感觉从main函数开始都在自己的掌控范围之内,但是这样的方式的确有点原始,也看到各种各样的开源系统使用spring实现web服务,虽然代码总是能够看明白,但是还是不晓得一步步是怎么搭建的,于是抽出一个周末折腾折腾,不搞不知道,原来这玩意能把一个不熟悉的用户搞崩溃,本文主要介绍我是如何搭建一个spring环境的(话说还真的分不清spring和springmvn),虽然在大多数web开发看来这是雕虫小技。

本文使用的环境是eclipse luna+spring比较新的一个版本(按照我选择版本的规则是除非有什么新功能新版本才用,否则尽量不使用最新的版本,然后选择较新的N个版本中使用人数比较多的,例如本文选用的spring版本是4.3.7.RELEASE)。

下面就从纯工程的角度上解释如何一步步的搭建这样的环境的,没有原理,有原理也是我纯属猜测的,没有看过源码。

详细步骤

第一步:创建一个maven工程

这是再熟悉不过的流程了,但是一般我不推荐选择Archetype,只是创建一个simple project就可以了,前者总是创建失败(创建Archetype模式的可以让IDE做更多的事情)。其实在何谓maven工程,在我看来就是一个带有pom.xml的java工程罢了,然后再把代码的路径设置为src/main/java类似这样的结构,所以我们只需要用IDE帮我们创建一个带有pom.xml的工程就可以了,我们自己写一个dependency和build参数。

配置的时候除了填写正确的group id 和artifact id,主要把packaging选择为war,这样可以在tomcat下运行。

第二步:修改工程配置

这里需要修改的配置有两个,只需要注意修改之后的样子就可以了:

Project Facets:虽然不知道这里配置什么的,但是一次次的吃了这个的亏,这里要配置的是Java选择1.6以上(最好1.7吧),然后选择Dynamic Web Module,下方出现如下的界面:

JAVA学习之一步步搭建spring框架

如果没出现则可以先勾掉Dynamic Web Module,然后保存,然后再次点进去Project Facets,选择Dynamic Web Module,这时候就出现了这样的界面,注意最好不要选择3.0,之前遇到过3.0不兼容的问题,jdk1.7 + 2.5版本是可以正常运行的。

点进去“Further configuration avaliable…”进行配置,将Context directory修改成,并选择生成web.xml,保存。如下图:

JAVA学习之一步步搭建spring框架

此时你会看到你的工程结构如下图,src/main目录下出现了java/resources/webapp三个目录。

JAVA学习之一步步搭建spring框架

配置Deployment Assembly,这里配置的Source和Deploy Path,表示在工程部署的时候会将source目录下的内容拷贝到tomcat部署目录/Deploy Path下。这里需要配置的如下图所示:

JAVA学习之一步步搭建spring框架

例如第一条表示会将工程中src/main/java目录下的源代码编译之后放到部署目录/WEB-INF/classes目录下,最后一条表示会将该工程的maven依赖拷贝到部署目录/WEB-INF/lib目录下。据我观察发现,其实tomcat目录运行过程中会将部署部署目录/WEB-INF/classes、部署目录/WEB-INF/lib加入到classpath中,所以将配置文件和编译完成的class文件放到classes下,依赖的jar放到lib目录下都是可以在启动java程序时找得到的。

第三步:下载spring依赖

spring的jar比较多,最基本的功能也需要如下的几个dependency:

<properties >    <spring.version >4.3.7.RELEASE </spring.version> </properties > <dependencies >    <dependency>      <groupId> org.springframework</groupId >      <artifactId> spring-context</artifactId >      <version> ${spring.version}</version >    </dependency>    <dependency>      <groupId> org.springframework</groupId >      <artifactId> spring-core</artifactId >      <version> ${spring.version}</version >    </dependency>    <dependency>      <groupId> org.springframework</groupId >      <artifactId> spring-beans</artifactId >      <version> ${spring.version}</version >    </dependency>    <dependency >      <groupId> org.springframework</groupId >      <artifactId> spring-web</artifactId >      <version> ${spring.version}</version >    </dependency>    <dependency>      <groupId> org.springframework</groupId >      <artifactId> spring-webmvc </artifactId>      <version> ${spring.version}</version >    </dependency> </dependencies >

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 资料下载
  • 历年真题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯