手把手教你用IDEA搭建一个完整的SSM项目

您所在的位置:网站首页 一个完整的ssm项目 手把手教你用IDEA搭建一个完整的SSM项目

手把手教你用IDEA搭建一个完整的SSM项目

#手把手教你用IDEA搭建一个完整的SSM项目| 来源: 网络整理| 查看: 265

说明

本文通过图文的方式详细介绍了通过IDEA如何搭建一个SSM项目,对于那些对IDEA不熟悉或者之前没有使用过IDEA的小伙伴是非常友好的。项目已经上传到github,地址:https://github.com/gitlxp1101/ssm_demo.git

1.用IDEA创建一个web项目1.1 在开始界面创建项目打开IDEA,点击如下图红框圈住的选项

1.2 从当前打开的项目页面再创建新项目有些小伙伴打开IDEA是直接进入上一次关闭的项目的,可以选择:File->New->Project

1.3 选择archetype选择maven,勾选Create from archetype,选择maven-archetype-web-app,选好后就点击“next”吧。如下图所示:

1.4 给项目起名给GroupId 和ArtifactId起个合适的名字,接下来要选择maven的配置和项目存放的位置,这里大家自己配置就好了,然后就一直点击“next”,直到项目创建完成。如下图所示:

1.5 创建好的项目和目录结构

2 创建目录细心的小伙伴可能就会发现,这种方式创建的项目是缺少存放类和资源的目录的,所有需要我们自己去创建。2.1 创建存放Java代码的目录:java鼠标右键选择main目录 -> New -> Directory,给新建目录起名为“java”

2.2 让IDEA识别这个存放类的目录新建的“Java”目录是不会被识别成存放类的目录的,需要进行标记,才能被识别。具体操作为:鼠标右键选择main目录 -> New -> Mark Directory as -> Sources Root

2.3 目录颜色变化 细心的小伙伴就能发现“java”目录的颜色由灰色变成了蓝色,这里我创建了一个resources目录。大家可以对比看一下:

2.4 目录标记

这里我简单解释下 Mark Directory as 选项展示的标记部分具体作用(大家应该也能从这些选项看出具体作用):Sources Root :用于存放Java代码Test Sources Root :用于存放Java测试代码ReSources Root :用于项目开发存储资源的文件夹,如配置文件,类路径(classpath)级别,一般代码中需要用到某些资源,比如resources被标记为ReSources Root,该目录有个applicationContext.xml,在代码中写路径的时候,就可以这样填:classpath:applicationContext.xmlTest ReSources Root :用于项目测试开发存储资源的文件夹

2.5 创建资源目录:resources步骤与上步骤基本一致,需要将resources目录标记为:Resources Root

2.6 测试目录这个项目结构也同样确实测试目录,需要我们自己构建

2.6.1 在src目录下创建一个“test”目录,与“main”目录是同级的2.6.2 在“test”目录下分别创建“java”目录和“resources”目录,分别标记为“Test Sources Root”和“Test ReSources Root”(这里参考上一节,步骤是差不多的)2.7 项目整体目录结构

3 引入maven依赖这里我先所有需要用到依赖放在下面了

4.0.0 com.example ssm_demo 1.0-SNAPSHOT war ssm_demo Maven Webapp http://www.example.com UTF-8 1.8 1.8 UTF-8 UTF-8 4.0.0.RELEASE 3.4.1 1.3.0 org.apache.tomcat tomcat-servlet-api 7.0.64 org.springframework spring-webmvc ${org.springframework.version} org.springframework spring-oxm ${org.springframework.version} org.springframework spring-jdbc ${org.springframework.version} org.springframework spring-tx ${org.springframework.version} org.springframework spring-test ${org.springframework.version} org.aspectj aspectjweaver 1.7.3 org.mybatis mybatis-spring ${org.mybatis.spring.version} org.mybatis mybatis ${org.mybatis.version} com.github.pagehelper pagehelper 4.1.0 com.alibaba druid-spring-boot-starter 1.1.10 org.mybatis.generator mybatis-generator-core 1.3.7 mysql mysql-connector-java 5.1.6 org.aspectj aspectjrt 1.6.11 org.codehaus.jackson jackson-mapper-asl 1.9.12 ch.qos.logback logback-classic 1.1.2 compile ch.qos.logback logback-core 1.1.2 compile com.google.guava guava 20.0 org.apache.commons commons-lang3 3.5 commons-collections commons-collections 3.2.1 junit junit 4.12 joda-time joda-time 2.3 org.hashids hashids 1.0.1 commons-fileupload commons-fileupload 1.2.2 commons-io commons-io 2.0.1 ssm_demo maven-clean-plugin 3.1.0 maven-resources-plugin 3.0.2 maven-compiler-plugin 3.8.0 maven-surefire-plugin 2.22.1 maven-war-plugin 3.2.2 maven-install-plugin 2.5.2 maven-deploy-plugin 2.8.2 复制代码

4 容器加载Spring配置文件4.1 监听器在web.xml中配置一个监听器,用于tomcat容器启动后加载Spring的配置文件,这里我给Spring的配置文件起名为:applicationContext.xml,在resources目录下。

4.2 配置applicationContext.xml这里简单介绍两个常用标签

4.2.1 包扫描如图,可以,容器启动后可以扫描到包“com.example”及其子包的所有注解

4.2.1 切面通过配置织入@Aspectj切面 

4.3 applicationContext.xml完整配置

复制代码

5 容器加载SpringMVC配置文件5.1 在web.xml中配置拦截规则

5.2 springmvc的配置文件如果在web.xml同级目录下配置 "拦截器名-servlet.xml",springmvc会自动扫描该文件。如我配置的拦截器名字为“dispatcher”,那么与web.xml同目录下的 “dispatcher-servlet.xml” 就会被扫描。5.3 dispatcher-servlet.xml 完整配置,配置中也有具体解释。

text/plain; text/html;charset=UTF-8 application/json;charset=UTF-8 复制代码5.4 web.xml完整配置

Archetype Created Web Application characterEncodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true characterEncodingFilter /* org.springframework.web.context.request.RequestContextListener org.springframework.web.context.ContextLoaderListener contextConfigLocation classpath:applicationContext.xml dispatcher org.springframework.web.servlet.DispatcherServlet 1 dispatcher / 复制代码5.5 目前项目目录结构

5.6 小结至此,我们已经完成了Spring+SpringMVC的整合,接下来我们先测试下有没有问题5.6.1 在IDEA中配置该项目,用于启动5.6.1.1 如图所示,IDEA顶部点击“Edit Configurations”

5.6.1.2 参考下图配置

5.6.1.3 点击就能看到如下图配置页面

5.6.1.4 先给项目命个名:ssm_demo5.6.1.5 这里也可以修改启动端口号,这里我就不改了,使用默认的80805.6.1.6 该配置页效果,细心的小伙伴看到了下面有一个警告,缺少“artifact”,接下来就要配置这个了。

5.6.1.7 配置artifact按如图方式添加一个artifact,记住选择带exploded结尾的版本,等会说下具体原因。

5.6.1.8 热发布简单说下,就是程序在debug运行时,修改代码后,不需要重启项目也能看到修改后的结果。让我们回到最开始的配置页面,按下图方式配置。然后点击ok。完成

5.6.1.9 运行配置好后,就能看到下面的结果了,店家绿色的三角形可以启动项目,就可以在浏览器下面的结果。

我们这里写个测试用的Controller,然后再浏览器中看下。

6.整合Mybatis6.1 Mybatis generator使用Mybatis generator生成model、mapper接口及mapper.xml6.1.1 新建一个“com.example.mbg”包,用于存放生成这些文件的代码6.1.2 Generator.java

package com.example.mbg; import org.mybatis.generator.api.MyBatisGenerator; import org.mybatis.generator.config.Configuration; import org.mybatis.generator.config.xml.ConfigurationParser; import org.mybatis.generator.internal.DefaultShellCallback; import java.io.InputStream; import java.util.ArrayList; import java.util.List; /** * 用于生产MBG的代码 * Created by macro on 2018/4/26. */ public class Generator { public static void main(String[] args) throws Exception { //MBG 执行过程中的警告信息 List warnings = new ArrayList(); //当生成的代码重复时,覆盖原代码 boolean overwrite = true; //读取我们的 MBG 配置文件 InputStream is = Generator.class.getResourceAsStream("/generatorConfig.xml"); ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config = cp.parseConfiguration(is); is.close(); DefaultShellCallback callback = new DefaultShellCallback(overwrite); //创建 MBG MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); //执行生成代码 myBatisGenerator.generate(null); //输出警告信息 for (String warning : warnings) { System.out.println(warning); } } }复制代码

6.1.3 配置 generatorConfig.xml上节代码中可以看到我们需要一个generatorConfig.xml(在resources目录下创建)文件,用于配置生成的信息。具体内容在我已经放在了下面,注释也写在里面,大家可以看下。

复制代码

6.1.4 datasource.propertiesgeneratorConfig.xml需要数据库的连接信息,我放在了datasource.properties(在resources目录下创建)。下面展示下generator.properties的内容,大家根据自己的情况进行修改

jdbc.driverClass=com.mysql.jdbc.Driver #选择要配置的数据库 jdbc.connectionURL=jdbc:mysql://localhost:3306/spring?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai #数据库用户名 jdbc.userId=root #数据库的密码 jdbc.password=123456复制代码

6.2 整合Mybatis6.2.1 在resources目录下新建一个 applicationContext-datasource.xml用于数据库和mybatis的配置。applicationContext-datasource.xml

classpath:datasource.properties 复制代码

6.2.2 在applicationContext.xml中引入applicationContext-datasource.xml

6.2.3 测试6.2.3.1 在测试类TestController添加如下,然后启动tomcat

6.2.3.2 在浏览器中输入如下,可以看到结果

6.2.3.3 该数据库文件我放在的resources/db目录下,需要的小伙伴可以自己去添加到自己的数据库中

6.3 项目整体结构



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3