参考感谢:
IntelliJ idea创建Spring MVC的Maven项目: https://www.cnblogs.com/lonelyxmas/p/5337672.html
大家来找茬-SpringMVC中Tomcat正常启动,始终访问不了Controller,出404错: http://doc.okbase.net/notDog/archive/169514.html
Spring 整合mybatis配置:http://blog.csdn.net/tolcf/article/details/50836196
MyBatis简介与配置MyBatis+Spring+MySql:http://limingnihao.iteye.com/blog/781671
SpringMVC+fastjson项目配置:https://www.cnblogs.com/blog5277/p/6398617.html
------------
Maven 仓库:http://mvnrepository.com/
1.创建 Maven WebApp项目
File->New->Project 创建项目:
GroupId:是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构
ArtifactId:就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。
Next:
完成,等待Maven生成模板,在此可开启显示Maven命令工具
最后生成以下项目目录结构:
这里生成的是简单JSP网站目录结果,接下来我们要调整一下目录结果以配置Spring MVC
先建以下目结构:
然后点击 File->Project Structure 或点击以下工具按钮标识文件夹类型
标识目录文件夹类型
选中文件夹点击上面的Mark as 对应的类型
以下就要开始Spring相关的配置了..
通过Maven引用依赖
配置pom.xml文件
1.在project节点下新增properties节点描述依赖的版本信息:
<properties>
<spring.version>4.2.0.RELEASE</spring.version>
<spring-data.version>4.2.0.RELEASE</spring-data.version>
<!--mybatis版本号-->
<mybatis.version>3.2.6</mybatis.version>
<slf4j.version>1.7.7</slf4j.version>
<log4j.version>1.2.17</log4j.version>
</properties>
的dependencies节点中添加以下Spring /Spring Mvc/fast json/mybats 等依赖
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>2.0.2.RELEASE</version>
</dependency>
<!--https://mvnrepository.com/artifact/com.alibaba/fastjson-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.41</version>
</dependency>
<!--https://mvnrepository.com/artifact/org.apache.commons/commons-lang3-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.7</version>
</dependency>
<!--mybatis核心包-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
<!--mybatis/spring包-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.2</version>
</dependency>
<!--导入javaeejar包-->
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
</dependency>
<!--导入Mysql数据库链接jar包-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.34</version>
</dependency>
<!--导入dbcp的jar包,用来在applicationContext.xml中配置数据库-->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.2.2</version>
</dependency>
<!--JSTL标签类-->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!--日志文件管理包-->
<!--logstart-->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.5.4</version>
</dependency>
完整的pom.xml文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.springdemo</groupId>
<artifactId>com.springdemo</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>com.springdemo</name>
<url>http://maven.apache.org</url>
<properties>
<spring.version>4.2.0.RELEASE</spring.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<mybatis.version>3.2.6</mybatis.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.shell</groupId>
<artifactId>spring-shell</artifactId>
<version>1.2.0.RELEASE</version>
</dependency>
<!--Spring框架-->
<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>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.7</version>
</dependency>
<!-- 导入dbcp的jar包,用来在applicationContext.xml中配置数据库 -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.2.2</version>
</dependency>
<!-- mybatis核心包 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
<!-- mybatis/spring包 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.2</version>
</dependency>
<!-- 导入Mysql数据库链接jar包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.34</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.41</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.springdemo.App</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
出现红色下划线,点击下上图的按钮让Maven下载依赖
接下来构建应用程序代码结构:
新增包,类C#中的命名空间
如下:
新建一个Controller:
mainController 完成代码:
package controllers;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class mainController {
@RequestMapping(value = "/", method = RequestMethod.GET)
public String index() {
return "index";
}
}
完成后打个包试试:
现在可以配置一下调试服务器,运行看一下:
点击下拉列表 Edit Configurations..
点击添加
选择Tomcat Server->Local
如果没有显示服务器,则点击Configure 配置一个
选中Tomcat 程序目录即可。如果没安装Tomcat服务器自行百度安装一个。其实只需要下载压缩包,配置一下系统路径即可。
我原来下的是 x64的版本,后台。调试时发生错误,用会x86版本就行了。不知道为什么。
然后OK完成,回到主界面,点调试:
熟悉的Hello world
第一章完
坑:
1.按 IntelliJ idea创建Spring MVC的Maven项目:https://www.cnblogs.com/lonelyxmas/p/5337672.html 中使用 Spring 3.2 ,但是搭配Jdk 1.8 会有冲突,运行失败。
2.本机使用Tomcat x64版本报了Amd 什么 x64的错误,后使用 x86后可正常使用。不知道是否个别情况及原因.