最近开发了一个项目,记录一下部署要点。
项目采用IDEA开发,框架使用maven+spring mvc+dubbo。
首先,新建项目。新建的时候先建maven,再添加spring mvc框架。具体可以参考IDEA搭建SpringMVC并用maven配置的小例子(非常详细)
建项目的时候不要跟之前已删除过的项目重名,我发现如果重名后在maven初始化构建时很容易失败。现在还没有深究原因。
如果要使用dubbo,那么新建项目的时候一定要选择spring mvc的版本是4以下的版本,我选择的是“3.2.18”。因为4以上改动非常大。
设置IDEA为自动下载jar包的源码与文档,点OK。
如果Plugins有报错,就说明maven包需要的插件没有下载好,可以自己在本地用cmd 进入maven命令来手动下载。命令mvn install或者 mvn help:system
如果Dependencies有报错(有红色波浪线),就说明使用了maven会有依赖冲突。这时候需要选择界面右测的在垂直滚动条那里的按钮“Maven Projects”,选择按钮“Show depedencies”。打开后会有一张【层级图】。图里如果有红色线就代表这里存在传递依赖冲突。以“最短路径为准”的原理,将另一个冲突包选中,然后右键,选择exclude。这时候,就会在pom.xml里面自动生成配置进行包排除。
我是写完代码后,再加上springmvc注解的配置。springmvc有两个重要配置:applicationContext.xml与dispatcher-servlet.xml。其中,dispatcher-servlet.xml他是与对应的servlet相关的名称,你的servlet叫什么,他就会生成“xxx_servlet.xml”的文件。
applicationContext.xml与dispatcher-servlet.xml这两个文件的区别在于:
- applicationContext.xml主要是与spring mvc密切关联,所以我会把bean定义会写在这里。当然啦,如果你全写在dispatcher-servlet.xml里面也是可以的。因为你写一个helloworld的时候,applicationContext.xml其实是空的。写这些的时候主要是那个beans里面的XML配置实在是太难配了。所以一般我会找一个DEMO直接把引入头拷贝进去再慢慢进行对比筛选。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:x