zoukankan      html  css  js  c++  java
  • 一步一步教你用IntelliJ IDEA 搭建SSM框架(1)

    1.基本概念

    SSM框架指:Spring MVC + Spring + MyBatis

    Spring MVC是一种web层mvc框架,用于替代servlet,处理|响应请求,获取表单参数,表单校验等

    Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。 (摘自百度百科)。

    2.开发环境

    安装java jdk,MySQL,IntelliJ IDEA,Tomcat,Maven

    这是我电脑上的java和MySQL版本

    Tomcat 我用的

    IntelliJ IDEA我用的

    Maven我用的3.6.0

    3.搭建SSM框架

    打开IntelliJ IDEA,选择 File》Project》New Project ,左侧栏选择 Maven ,右侧Project SDK 会是默认的java,选择Create from archetype,选择下图中的2

            点击上图Next,进入下图,GroupId和ArtifactId是Maven项目的坐标,保证项目的唯一性。如果项目上传到了maven本地仓库去,必须根据这两个id去查找项目。

    GroupId 一般分为多段,这里只说两段,第一段为域,第二段为公司名称。域包括:org、com、cn等,其中org为非营利组织,com为商业组织。
    ArtifactId实际对应项目的名称,就是项目根目录的名称。这样说起来比较抽象,下面举例说明:

           例如下图中:GroupId是cn.only,它的域是cn(因为cn表示中国),个人项目所以为only,ArtifactId是helloworld。 GroupId实际对应JAVA的包的结构,是main目录里java的目录结构。ArtifactId实际对应项目的名称。

       

         点击上图Next,进入下图,选择本地Maven的位置,我的Maven版本是3.6.0

    点击上图Next,进入下图,选择项目的存放地址,如下图,注意Project location中一定要有项目名字,项目名称默认

      点击上图Finish,IntelliJ IDEA右下角弹窗如下图:

     

         点击Enable Auto-Import,以后更改pom文件后就会自动下载依赖包了,所以点击Enable Auto-Import。

         等待几分钟,项目正在下载相关依赖包,下载完毕以后,项目的目录结构如下图:

    .idea:IntelliJ IDEA 在本项目中的配置,可以删掉,删掉后打开项目要重新配置。

    src:存放项目代码

    pom.xml:maven的配置文件,需要什么jar包,在里面添加依赖,maven会自动下到本地仓库。

             现在构建SSM项目结构:

    在src下建test文件夹,用来放测试文件,在test文件夹下建java和resources文件夹:

             选择test的下的java文件夹,鼠标右键选择Mark Directory  as》Test Sources Root

             选择test的下的resources文件夹,鼠标右键选择Mark Directory  as》Test Resources Root

      

    在main文件夹下建java和resources文件夹:

             选择main的下的java文件夹,鼠标右键选择Mark Directory  as》Sources Root

             选择main的下的resources文件夹,鼠标右键选择Mark Directory  as》Resources Root

    在src》main》java文件夹下建package,鼠标选择java文件夹,右键选择New》Package,建Package,名字就是上面GroupId,为cn.only 

    在cn.only下建4个Package:controller:用来放前台url映射文件,dao用来放与数据库的接口文件,entity用来放实体类文件,service用来放自己定义的接口

    鼠标选择java,右键选择New》Package,建Package,名字为cn.only.controller,controller Package添加成功如下图

    继续鼠标选择java,右键选择New》Package,建Package,名字为cn.only.dao,dao Package添加成功如下图

    entity和service的添加方法一样如上,名字为cn.only.entity和cn.only.service,添加成功,如下图

    src》main》resources下添加两个文件夹: spring和sqlmap,spring下添加spring的配置文件applicationContext.xml

    src》main》resources下再添加四个配置文件:generator.properties ,generatorConfig.xml ,jdbc.properties 和 log4j.properties

    generator.properties和generatorConfig.xml :用来配置mybatis

    jdbc.properties :配置数据库相关信息

    log4j.properties:配置日志

    resources的目录结构如下图:

     src》main》webapp下新建文件夹:js ,css,images 用来存放前端资源

     src》main》webapp》WEB-INF下新建views文件夹,jsp页面放在这里。

    webapp 的目录结构如下图:

    整个项目的目录已经构建好,如下图:

    下面开始配置项目

    根目录下的pom.xml:POM是项目对象模型(Project Object Model)的简称,它是Maven项目中的文件,使用XML表示,名称叫做pom.xml。该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等。在Maven中,project可以什么都没有,甚至没有代码,但是必须包含pom.xml文件。

    打开pom.xml,会发现已经默认有一些配置了,下面是我的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.only</groupId>
      <artifactId>helloworld</artifactId>
      <version>1.0-SNAPSHOT</version>
      <packaging>war</packaging>
    
      <name>helloworld 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.2.5.RELEASE</spring.version>
        <!-- mybatis版本号 -->
        <mybatis.version>3.2.4</mybatis.version>
        <!-- log4j日志文件管理包版本 -->
        <slf4j.version>1.6.6</slf4j.version>
        <log4j.version>1.2.12</log4j.version>
      </properties>
    
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.11</version>
          <scope>test</scope>
        </dependency>
        <!-- spring核心包 -->
        <!-- springframe start -->
        <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>org.springframework</groupId>
          <artifactId>spring-oxm</artifactId>
          <version>${spring.version}</version>
        </dependency>
    
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-tx</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-webmvc</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-context-support</artifactId>
          <version>${spring.version}</version>
        </dependency>
    
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-test</artifactId>
          <version>${spring.version}</version>
        </dependency>
        <!-- springframe end -->
    
        <!-- 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驱动包 -->
        <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>5.0.8</version>
        </dependency>
    
        <!-- jstl -->
        <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>jstl</artifactId>
          <version>1.2</version>
        </dependency>
        <dependency>
          <groupId>javax.servlet.jsp</groupId>
          <artifactId>jsp-api</artifactId>
          <version>2.2.1-b03</version>
          <scope>provided</scope>
        </dependency>
    
        <!-- servlet -->
        <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>servlet-api</artifactId>
          <version>2.5</version>
          <scope>provided</scope>
        </dependency>
        <!-- json数据 -->
        <dependency>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-core</artifactId>
          <version>2.7.1</version>
        </dependency>
        <dependency>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-annotations</artifactId>
          <version>2.7.1</version>
        </dependency>
        <dependency>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-databind</artifactId>
          <version>2.7.1</version>
        </dependency>
        <dependency>
          <groupId>net.sf.json-lib</groupId>
          <artifactId>json-lib</artifactId>
          <version>2.4</version>
          <classifier>jdk15</classifier>
        </dependency>
        <!-- commons -->
        <dependency>
          <groupId>commons-lang</groupId>
          <artifactId>commons-lang</artifactId>
          <version>2.4</version>
        </dependency>
        <dependency>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging</artifactId>
          <version>1.1</version>
        </dependency>
        <dependency>
          <groupId>commons-pool</groupId>
          <artifactId>commons-pool</artifactId>
          <version>1.5.6</version>
        </dependency>
        <dependency>
          <groupId>commons-dbcp</groupId>
          <artifactId>commons-dbcp</artifactId>
          <version>1.4</version>
        </dependency>
        <dependency>
          <groupId>commons-beanutils</groupId>
          <artifactId>commons-beanutils</artifactId>
          <version>1.8.3</version>
        </dependency>
        <dependency>
          <groupId>commons-httpclient</groupId>
          <artifactId>commons-httpclient</artifactId>
          <version>3.1</version>
        </dependency>
        <dependency>
          <groupId>commons-collections</groupId>
          <artifactId>commons-collections</artifactId>
          <version>3.1</version>
        </dependency>
        <dependency>
          <groupId>commons-codec</groupId>
          <artifactId>commons-codec</artifactId>
          <version>1.9</version>
        </dependency>
        <dependency>
          <groupId>javax.annotation</groupId>
          <artifactId>jsr250-api</artifactId>
          <version>1.0</version>
        </dependency>
    
        <dependency>
          <groupId>net.sf.ezmorph</groupId>
          <artifactId>ezmorph</artifactId>
          <version>1.0.6</version>
        </dependency>
        <dependency>
          <groupId>javax.activation</groupId>
          <artifactId>activation</artifactId>
          <version>1.1</version>
        </dependency>
        <dependency>
          <groupId>taglibs</groupId>
          <artifactId>standard</artifactId>
          <version>1.1.2</version>
        </dependency>
        <!-- 日志文件管理包 -->
        <!-- log start -->
        <dependency>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
          <version>${log4j.version}</version>
        </dependency>
        <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-api</artifactId>
          <version>${slf4j.version}</version>
        </dependency>
        <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
          <version>${slf4j.version}</version>
        </dependency>
        <!--上传-->
        <dependency>
          <groupId>commons-fileupload</groupId>
          <artifactId>commons-fileupload</artifactId>
          <version>1.3.1</version>
        </dependency>
        <dependency>
          <groupId>commons-io</groupId>
          <artifactId>commons-io</artifactId>
          <version>2.4</version>
        </dependency>
        <!-- log end -->
      </dependencies>
    
      <build>
        <finalName>hello</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.1.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.8.0</version>
            </plugin>
            <plugin>
              <artifactId>maven-surefire-plugin</artifactId>
              <version>2.22.1</version>
            </plugin>
            <plugin>
              <artifactId>maven-war-plugin</artifactId>
              <version>3.2.2</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>
          </plugins>
        </pluginManagement>
        <plugins>
          <!-- mybatis-generator -->
          <plugin>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-maven-plugin</artifactId>
            <version>1.3.2</version>
            <configuration>
              <!-- mybatis-generator的配置文件,根据情况调整位置 -->
              <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
              <verbose>true</verbose>
              <overwrite>true</overwrite>
            </configuration>
            <executions>
              <execution>
                <id>Generate MyBatis Artifacts</id>
                <goals>
                  <goal>generate</goal>
                </goals>
              </execution>
            </executions>
            <dependencies>
              <dependency>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-core</artifactId>
                <version>1.3.2</version>
              </dependency>
            </dependencies>
          </plugin>
        </plugins>
      </build>
    </project>
    View Code

     配置applicationContext.xml,我的配置如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:beans="http://www.springframework.org/schema/beans"
           xmlns:mvc="http://www.springframework.org/schema/mvc"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
             http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
             http://www.springframework.org/schema/context
             http://www.springframework.org/schema/context/spring-context-4.3.xsd
             http://www.springframework.org/schema/mvc
             http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd"  >
    
        <!-- ①:对cn.only包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能 -->
        <context:component-scan base-package="cn.only"/>
        <mvc:annotation-driven />
        <!-- 静态资源访问 -->
        <!--如果webapp下你新建了文件夹,想访问里面的静态资源,那么就要在这配置一下-->
        <mvc:resources location="/images/" mapping="/images/**"/>
        <mvc:resources location="/css/" mapping="/css/**"/>
        <mvc:resources location="/js/" mapping="/js/**"/>
    
        <!-- Configures the @Controller programming model
        <mvc:annotation-driven />-->
        <!-- ②:启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->
        <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
            <property name="messageConverters">
                <list>
                    <ref bean="mappingJacksonHttpMessageConverter"/>
                </list>
            </property>
        </bean>
    
        <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
            <property name="supportedMediaTypes">
                <list>
                    <value>application/json;charset=UTF-8</value>
                </list>
            </property>
        </bean>
    
    
    
    
    
        <!-- 配置视图解析器,把控制器的逻辑视频映射为真正的视图 -->
        <!-- /WEB-INF/jsp/start.jsp -->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
            <property name="prefix" value="/WEB-INF/views/" />
            <property name="suffix" value=".jsp" />
        </bean>
    
    
    
    
        <!-- 配置dbcp数据库连接池 -->
    
        <!-- <context:property-placeholder location="classpath:db.properties"/> -->
        <!--数据库配置 -->
        <bean id = "propertyConfigurer" class = "org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
            <property name="locations">
                <list>
                    <value>classpath:jdbc.properties</value>
                </list>
            </property>
    
        </bean>
    
        <!-- 数据库连接池 -->
        <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
            <property name="driverClassName" value="${jdbc.driver}"/>
            <property name="url" value="${jdbc.url}"/>
            <property name="username" value="${username}"/>
            <property name="password" value="****"/>
            <property name="initialSize" value="1"/>
            <property name="maxActive" value="100"/>
            <property name="maxIdle" value="5"/>
            <property name="maxWait" value="80000"/>
        </bean>
    
        <!-- 配置事务管理器 -->
        <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <property name="dataSource" ref="dataSource" />
        </bean>
    
        <!-- 拦截器 -->
        <mvc:interceptors>
            <!-- 国际化操作拦截器 如果采用基于(请求/Session/Cookie)则必需配置 -->
            <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
        </mvc:interceptors>
        <!-- 定义无Controller的path<->view直接映射 -->
        <!-- <mvc:view-controller path="/" view-name="redirect:/" /> -->
        
    
    </beans>
    View Code

    配置jdbc.properties

    jdbc.driver=com.mysql.jdbc.Driver
    #test为我本地的数据库名
    jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
    username=root
    #下面输入自己数据库的密码
    password=*****
    #定义初始连接数
    initialSize=0
    #定义最大连接数
    maxActive=20
    #定义最大空闲
    maxIdle=20
    #定义最小空闲
    minIdle=1
    #定义最长等待时间
    maxWait=60000
    View Code

    注意:上面的代码中如果没有serverTimezone=UTC,代码运行会报错 

    配置log4j.properties

    ### set log levels ###
    log4j.rootLogger = INFO,D
    
    ###输出到控制台###
    log4j.logger.toConsole=debug,stdout
    log4j.appender.stdout = org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.Target = System.out
    log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
    
    
    log4j.appender.stdout.layout.ConversionPattern =%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%n
    
    ### 输出到日志文件 ###
    ##  其中File 可以采用绝对路径 亦可以采用相对路径 catalina.home 是tomcat目录  如果没有logs文件夹 将会报错  ##
    ##  更加倾向于将日志文件放在  tomcat的日志目录下${catalina.home}/logs/salesmanb2bError.log ##
    ##  绝对路径如:e:/salesmanb2bError.log ##
    log4j.logger.daily=INFO,D
    log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
    log4j.appender.D.File = ${catalina.home}/logs/helloworld/helloworld.log
    log4j.appender.D.Append = true
    log4j.appender.D.Threshold = INFO
    log4j.appender.D.layout = org.apache.log4j.PatternLayout
    log4j.appender.D.layout.ConversionPattern =%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%n
    
    
    ##log4j.logger.org.apache.ibatis=debug,stdout
    ##log4j.logger.java.sql=debug,stdout
    View Code

    配置web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
      <display-name>helloworld</display-name>
      <!-- 配置编码方式-->
      <filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
          <param-name>encoding</param-name>
          <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
          <param-name>forceEncoding</param-name>
          <param-value>true</param-value>
        </init-param>
      </filter>
      <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
    
    
      <!-- 配置springmvc的前端控制器 指向spring-mvc.xml 程序在启动的时候就加载springmvc 可以接受所有请求 load-on-startup:表示启动容器时初始化该Servlet; -->
      <servlet>
        <servlet-name>springServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- 可以自定义servlet.xml配置文件的位置和名称, 默认为WEB-INF目录下,名称为[<servlet-name>]-servlet.xml,如spring-servlet.xml -->
        <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value> classpath:spring/applicationContext.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <!-- 将前端URL请求和后台处理方法controller建立对应关系-->
      <servlet-mapping>
        <servlet-name>springServlet</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>
    
      <!-- Spring配置 -->
      <listener>
        <listener-class>
          org.springframework.web.context.ContextLoaderListener
        </listener-class>
      </listener>
      <!-- 取消对某一类文件的拦截-->
      <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.md</url-pattern>
      </servlet-mapping>
    
      <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value> classpath:spring/applicationContext.xml</param-value>
      </context-param>
      <!-- 欢迎页面-->
      <welcome-file-list>
        <welcome-file>/WEB-INF/index.jsp</welcome-file>
      </welcome-file-list>
      <!--404错误展示页面,可自行配置-->
      <!--<error-page>-->
      <!--<error-code>404</error-code>-->
      <!--<location>/WEB-INF/views/404.jsp</location>-->
      <!--</error-page>-->
      <!--设置session失效时间为30分钟 -->
      <session-config>
        <session-timeout>600</session-timeout>
      </session-config>
    </web-app>
    View Code

    最后配置Tomcat,配置好Tomcat代码就可以跑起来了。选择Add Configuration...》弹出配置窗口,如下图

    点击上图红框中的+,选择Tomcat Server》Local,弹出窗口,如下图,

     

    配置Application server,在上图中选择红框中的configure...,弹出窗口如下图,选择Tomcat的安装路径,配置好Tomcat。

    配置Deployment,如下图,

    上图中,点击+,选择Artifact...,弹窗如下图,

    上图中选择红框中内容,点击OK,如下图: 

    点击上图OK,Tomcat配置完毕。

     如上图,点击绿色三角形,运行程序。

    运行结果如下:

    程序正常启动,spring mvc已经搭建好,下一篇文章配置mybatis-geneator,这是一款mybatis自动代码生成工具。

    本文参照这篇文章写的:https://www.cnblogs.com/toutou/p/9015126.html#_nav_0

  • 相关阅读:
    js/jsp常用记录(一)
    Oracle 存储过程的基本语法 及注意事项
    PL/SQL Developer使用技巧、快捷键
    Zookeeper的功能以及工作原理
    牛客网PAT练兵场-德才论
    牛客网PAT练习场-数素数
    牛客网PAT练兵场-D进制的A+B
    牛客网PAT练习场-个位数的统计
    牛客网PAT练习场-数字分类
    牛客网PAT练习场-A+B和C
  • 原文地址:https://www.cnblogs.com/greenteaone/p/11078108.html
Copyright © 2011-2022 走看看