.Net 码农搭使用 Intellij ideal 搭Java Maven + Spring + Spring MVC + Mybatis 框架(一)
参考感谢:
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后可正常使用。不知道是否个别情况及原因.