zoukankan      html  css  js  c++  java
  • 个人网站搭建第一部分——使用maven创建SSM项目

    Maven+Eclipse+SpringMvc+Spring+Mybatis项目搭建

    (1)选择Maven Project

    (2)点击Next,选择默认工作空间位置

    (3)选择Web类型

    (4)填写GroupID、ArtifactID(GroupId两段组成[域+公司名称]相当于一个组织,ArtifactID对应项目名称

    (5)设置默认Server服务器和JDK版本

    右键项目 --> Properties --> Server --> 选择Tomcat

    右键项目 --> Properties --> Java Build Path --> 选择Tomcat和JDK的包导入

    (6)修改pom.xml导入SSM框架所需的包(以下为我的pom.xml,可直接替换)

    <?xml version="1.0" encoding="UTF-8"?>
    
    <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>cn.zzy</groupId>
      <artifactId>ssm</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <packaging>war</packaging>
    
      <name>ssm Maven Webapp</name>
      <!-- FIXME change it to the project's website -->
      <url>http://www.example.com</url>
    
      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.7</maven.compiler.source>
        <maven.compiler.target>1.7</maven.compiler.target>
        <!-- Spring版本号 -->
        <spring.version>4.3.8.RELEASE</spring.version>
      </properties>
    
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.11</version>
          <scope>test</scope>
        </dependency>
        <!-- Spring相关包 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${spring.version}</version>
        </dependency>
    
        <!-- AOP相关包 -->
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>1.8.0</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.8.0</version>
        </dependency>
    
        <!-- MyBatis相关包 -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.3.0</version>
        </dependency>
        <!-- MySQL相关包 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.26</version>
        </dependency>
        <!-- 数据库连接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.20</version>
        </dependency>
    
        <!-- Spring集成MyBatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.2.3</version>
        </dependency>
    
        <!-- JSP标准标签库 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
    
        <!-- 日志相关包 -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.21</version>
        </dependency>
    
        <!-- 单元测试相关包 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
      </dependencies>
    
      <build>
        <finalName>ssm</finalName>
        <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
          <plugins>
            <plugin>
              <artifactId>maven-clean-plugin</artifactId>
              <version>3.0.0</version>
            </plugin>
            <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
            <plugin>
              <artifactId>maven-resources-plugin</artifactId>
              <version>3.0.2</version>
            </plugin>
            <plugin>
              <artifactId>maven-compiler-plugin</artifactId>
              <version>3.7.0</version>
            </plugin>
            <plugin>
              <artifactId>maven-surefire-plugin</artifactId>
              <version>2.20.1</version>
            </plugin>
            <plugin>
              <artifactId>maven-war-plugin</artifactId>
              <version>3.2.0</version>
            </plugin>
            <plugin>
              <artifactId>maven-install-plugin</artifactId>
              <version>2.5.2</version>
            </plugin>
            <plugin>
              <artifactId>maven-deploy-plugin</artifactId>
              <version>2.8.2</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </project>

    (7)完善项目结构

    右键项目 --> Source folder --> 添加src/test/resources和src/main/resources,这里由于我有,所以提示

    添加完成后,完整的项目结构

     移除不必要的文件夹

    (8)创建项目用的配置文件(推荐使用UTF-8编码)

    jdbc.properties
    log4j.properties
    mybatis-config.xml
    spring-mvc.xml
    spring-mybatis.xml

    这些文件后面还会修改,这里先不贴了,有兴趣看后面章节

    (9)Mysql数据库

    #创建数据库
    CREATE DATABASE ssm_database;
    #创建数据库表(先删后插)
    DROP TABLE IF EXISTS `tb_user`;
    CREATE TABLE tb_user(
        userid int primary key auto_increment,
        username VARCHAR(200),
        userpassword VARCHAR(200),
        createdate TIMESTAMP
    );

    (10)根据Mybatis自动生成(使用maven插件)

    pom.xml增加配置

    <!-- MyBatis代码自动生成 -->
    <plugin>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>1.3.2</version>
        <dependencies>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.35</version>
            </dependency>
        </dependencies>
        <configuration>
             <!--配置文件的路径-->
             <configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile> 
            <overwrite>true</overwrite>
        </configuration>
    </plugin>

    创建generatorConfig.xml配置文件

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE generatorConfiguration
      PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
      "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
    <generatorConfiguration>
        <context id="cn.zzy" targetRuntime="MyBatis3">
            <plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin"></plugin>  
            <plugin type="org.mybatis.generator.plugins.SerializablePlugin"></plugin> 
             <plugin type="org.mybatis.generator.plugins.ToStringPlugin"></plugin> 
            <commentGenerator>
                <!-- 这个元素用来去除指定生成的注释中是否包含生成的日期 false:表示保护 -->
                <!-- 如果生成日期,会造成即使修改一个字段,整个实体类所有属性都会发生变化,不利于版本控制,所以设置为true -->
                <property name="suppressDate" value="true" />
                <!-- 是否去除自动生成的注释 true:是 : false:否 -->
                <property name="suppressAllComments" value="false" />
            </commentGenerator>
            <!--数据库链接URL,用户名、密码 -->
            <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                connectionURL="jdbc:mysql://localhost/ssm_database" userId="root" password="root">
                </jdbcConnection>
            <javaTypeResolver>
                <!-- This property is used to specify whether MyBatis Generator should 
                    force the use of java.math.BigDecimal for DECIMAL and NUMERIC fields, -->
                <property name="forceBigDecimals" value="false" />
            </javaTypeResolver>
            <!-- 生成模型的包名和位置 -->
            <javaModelGenerator targetPackage="com.cn.zzy.model"
                targetProject="target">
                <property name="enableSubPackages" value="true" />
                <property name="trimStrings" value="true" />
            </javaModelGenerator>
            <!-- 生成映射文件的包名和位置 -->
            <sqlMapGenerator targetPackage="com.cn.zzy.mapping"
                targetProject="target">
                <property name="enableSubPackages" value="true" />
            </sqlMapGenerator>
            <!-- 生成DAO的包名和位置 -->
            <javaClientGenerator type="XMLMAPPER"
                targetPackage="com.cn.zzy.dao" implementationPackage="com.cn.zzy.dao.impl"  targetProject="target">
                <property name="enableSubPackages" value="true" />
            </javaClientGenerator>
            
            <!-- 要生成哪些表 -->
            <table tableName="tb_user" domainObjectName="user"
                enableCountByExample="false" enableUpdateByExample="false"
                enableDeleteByExample="false" enableSelectByExample="false"
                selectByExampleQueryId="false"></table>
        </context>
    </generatorConfiguration>

    生成后文件会在target目录下,需要手动复制到src/main/java目录下

    右键pom.xml文件 --> Run As --> maven Build …… --> 在goals输入:mybatis-generator:generate 即可自动生成

     遇到问题罗列:

    (1)org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration)

    解决:

    Help --> Install New SoftWare --> Add

    name:MavenArchiver

    Location:https://otto.takari.io/content/sites/m2e.extras/m2eclipse-mavenarchiver/0.17.2/N/LATEST/

    由于是国内的,速度有点慢,大概5-10分钟,重启Eclipse,问题解决

    (2)Project configuration is not up-to-date with pom.xml. Run Maven->Update Project or use Quick Fix

    解决:

    右键项目 --> maven --> update Project,问题解决

    (3)Build path specifies execution environment JavaSE-1.8. There are no compatible JREs installed in the workspace

     解决:

    右键项目 --> Java Build Path --> 重新加入JDK

  • 相关阅读:
    Zabbix5 Frame 嵌套
    Zabbix5 对接 SAML 协议 SSO
    CentOS7 安装 Nexus
    CentOS7 安装 SonarQube
    GitLab 后台修改用户密码
    GitLab 查看版本号
    GitLab Admin Area 500 Error
    Linux 安装 PostgreSQL
    Liger ui grid 参数
    vue.js 是一个怪东西
  • 原文地址:https://www.cnblogs.com/zhuziyu/p/9004236.html
Copyright © 2011-2022 走看看