在IntelliJ IDEA中搭建基于Maven的SSM整合框架

一、新建Maven项目

1、打开idea,点击File->New->Project 这时会弹出个窗口,我们创建maven项目,选择本地jdk版本,勾选复选框“Create from archetype”使用原型模版快速创建,在下拉选项中选择”webapp”,点击【Next】
在IntelliJ IDEA中搭建基于Maven的SSM整合框架_第1张图片
2、在该面板中填写maven坐标”groupId”,”artifactId”,以及”version”,之后点击【Next】
在IntelliJ IDEA中搭建基于Maven的SSM整合框架_第2张图片
3、在接下来面板中选择本地maven,比如我的maven选择如下,选择完成之后点击【Next】
在IntelliJ IDEA中搭建基于Maven的SSM整合框架_第3张图片
4、弹出窗口,项目名称,项目本地地址,点击【Finish】
在IntelliJ IDEA中搭建基于Maven的SSM整合框架_第4张图片
5、之后idea就会自动创建maven项目,选择”Enable Auto-Import”,这里maven将自动下载导入一系列maven依赖,将花费一些时间。
在IntelliJ IDEA中搭建基于Maven的SSM整合框架_第5张图片
6、嗒哒~~ 创建好的maven web项目结构如下:
在IntelliJ IDEA中搭建基于Maven的SSM整合框架_第6张图片
7、还需要一些文件夹我们手动创建,在main右键,New->Directory创建目录取名为java:
在IntelliJ IDEA中搭建基于Maven的SSM整合框架_第7张图片
8、右键,将java文件夹标记为为源码文件夹:
在IntelliJ IDEA中搭建基于Maven的SSM整合框架_第8张图片
9、同理在main目录下创建目录取名为resources,并标记为资源文件夹,这里不再上图。
10、创建与main同级的test目录,按照同样的方法在该目录下创建java测试源码文件和resources测试资源文件。
至此我们的maven web项目就建好了~
嗒哒~
在IntelliJ IDEA中搭建基于Maven的SSM整合框架_第9张图片
另外也可在项目上右键选择选择Open Module Settings打开模块设置管理目录:
在IntelliJ IDEA中搭建基于Maven的SSM整合框架_第10张图片

我们这样搭目录是为了符合Maven项目的规范

二、文件配置

pom.xml
项目的架子搭好了,这时我们需要引入项目所需要的jar包,而maven会依据pom.xml文件去下载相应的jar包。因此我们只要在pom.xml文件引入这些jar包的依赖配置就可以了。主要有单元测试的,日志的,spring的,mybatis相关的,数据库相关的这几类jar包,这些jar包可在maven仓库中找。
比如我们需要junit jar包:
在IntelliJ IDEA中搭建基于Maven的SSM整合框架_第11张图片
在IntelliJ IDEA中搭建基于Maven的SSM整合框架_第12张图片
在IntelliJ IDEA中搭建基于Maven的SSM整合框架_第13张图片
在IntelliJ IDEA中搭建基于Maven的SSM整合框架_第14张图片
粘贴到pom.xml文件中即可。
项目需要的jar包是千篇一律的,这里相关功能说明如下:

<properties>
    <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
    <maven.compiler.source>1.7maven.compiler.source>
    <maven.compiler.target>1.7maven.compiler.target>
  properties>

  <dependencies>

    
    <dependency>
      <groupId>junitgroupId>
      <artifactId>junitartifactId>
      <version>4.11version>
      
      <scope>testscope>
    dependency>

    
    <dependency>
      <groupId>ch.qos.logbackgroupId>
      <artifactId>logback-classicartifactId>
      <version>1.2.3version>
      
    dependency>

    
    
    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-coreartifactId>
      <version>5.0.6.RELEASEversion>
    dependency>
    
    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-beansartifactId>
      <version>5.0.6.RELEASEversion>
    dependency>
    
    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-contextartifactId>
      <version>5.0.6.RELEASEversion>
    dependency>
    
    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-jdbcartifactId>
      <version>5.0.6.RELEASEversion>
    dependency>
    
    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-txartifactId>
      <version>5.0.6.RELEASEversion>
    dependency>
    
    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-webartifactId>
      <version>5.0.6.RELEASEversion>
    dependency>
    
    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-webmvcartifactId>
      <version>5.0.6.RELEASEversion>
    dependency>
    
    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-testartifactId>
      <version>5.0.6.RELEASEversion>
      <scope>testscope>
    dependency>
    
    <dependency>
      <groupId>javax.servletgroupId>
      <artifactId>javax.servlet-apiartifactId>
      <version>4.0.0version>
      <scope>providedscope>
    dependency>
    
    <dependency>
      <groupId>com.fasterxml.jackson.coregroupId>
      <artifactId>jackson-databindartifactId>
      <version>2.9.5version>
    dependency>
    
    <dependency>
      <groupId>commons-collectionsgroupId>
      <artifactId>commons-collectionsartifactId>
      <version>3.2.2version>
    dependency>

    
    
    <dependency>
      <groupId>org.mybatisgroupId>
      <artifactId>mybatisartifactId>
      <version>3.4.6version>
    dependency>
    
    <dependency>
      <groupId>org.mybatisgroupId>
      <artifactId>mybatis-springartifactId>
      <version>1.3.2version>
    dependency>

    
    
    <dependency>
      <groupId>mysqlgroupId>
      <artifactId>mysql-connector-javaartifactId>
      <version>8.0.11version>
    dependency>
    
    <dependency>
      <groupId>com.mchangegroupId>
      <artifactId>c3p0artifactId>
      <version>0.9.5.2version>
    dependency>
  dependencies>

逐层完成SSM的各项配置

  • 在src/main/resources/创建数据库配置文件:jdbc.propetites
  • 在src/main/resources/创建mybatis的配置文件:mybatis-config.xml
  • 在src/main/resources/spring/下创建spring各层配置文件:spring-dao.xml、spring-service.xml、spring-web.xml
  • 配置WEB-INF下的web.xml文件

文件配置大同小异,可按需自行网上搜索~


SpringMVC:DispatchServlet
前端控制器DispatchServlet是整个MVC框架的核心,主要要来拦截符合要求的外部请求,并把请求分发到不同的控制器中,根据控制器处理的结果,生成相应的响应发送到客户端。
Spring:IOC和AOP
IOC:由Spring来控制对象的生命周期和对象间的关系。IOC是通过DI即依赖注入来实现的。组件之间的依赖关系由容器在运行期决定,IOC动态将依赖关系动态的注入到组建件中。
AOP:面向切面编程,AOP的实现方式是动态代理。
MyBatis:ORM
ORM:关系映射,对象和数据库之间的映射,将程序中的对象自动持久化到关系数据库之中。

你可能感兴趣的:(WebApp项目)