创建ssm的Maven项目

本文详细介绍了如何在Eclipse中创建SSM(Spring + SpringMVC + MyBatis)框架项目,并配置Maven依赖及插件,实现项目的基本运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先创建一个Maven的项目
打开Eclipse之后在坐车的工作区右键new —–>Maven Project
这里写图片描述
默认勾选即可,点击Next
这里写图片描述
找到Artifact Id 是maven-archetye-webapp的,选中后点击Next
这里写图片描述
填写完成之后点击Finish,我们的项目就创建完成了,初次创建后有点慢
创建完成的项目的结构如下
这里写图片描述
然后我们还要为项目配置jdk和web的版本
在项目上面右键选择properties —–>找到project Facets
这里写图片描述
选择我们想要修改的jdk和web的版本,我们想要些文件的情况下是要创建两个文件夹的
在main的文件夹下面创建java文件夹
然后在项目上面右键—–>properties—–>Java Build Path——>Add Folder
这里写图片描述
把webapp勾上
这里写图片描述
创建完成的项目中我们可以看到java文件夹就是我们平常写项目使用的文件夹,同样对立的是test文件夹,是我们想要进行单元测试的时候使用的文件夹,一般时候很少使用,resources这个文件夹是存放配置文件的文件夹,在项目编译的时候会编译这个文件夹,webapp就是我们存放资源和页面的文件夹了 ,但是想要在编译的时候编译的话就需要我们上面的配置。
这里写图片描述


接下来就是配置pom文件啦


     <!-- 配置各种jar包的版本  -->
      <properties>
            <!-- 定义一些配置,方便下面直接使用${}的方式直接引用 -->
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.build.locales>zh_CN</project.build.locales>
            <project.build.jdk>1.7</project.build.jdk>

            <!-- 插件版本  -->
            <plugin.mybatis.generator>1.3.1</plugin.mybatis.generator>
            <plugin.maven-compiler>3.1</plugin.maven-compiler>
            <plugin.maven-surefire>2.18.1</plugin.maven-surefire>
            <skipTests>true</skipTests>
            <junit.version>4.11</junit.version>
            <plugin.maven-version>2.2</plugin.maven-version>
            <spring.version>4.3.3.RELEASE</spring.version>
            <mybatis.version>3.2.2</mybatis.version>
            <mybatis.spring.version>1.2.2</mybatis.spring.version>
            <mysql.connector.version>5.1.30</mysql.connector.version>
            <postgresql.version>9.1-901.jdbc4</postgresql.version>
            <slf4j.version>1.6.6</slf4j.version>
            <log4j.version>1.2.12</log4j.version>
            <httpclient.version>4.1.2</httpclient.version>
            <jackson.version>1.9.13</jackson.version>
            <c3p0.version>0.9.1.2</c3p0.version>
            <druid.version>1.0.5</druid.version>
            <tomcat.jdbc.version>7.0.53</tomcat.jdbc.version>
            <jstl.version>1.2</jstl.version>
            <google.collections.version>1.0</google.collections.version>
            <cglib.version>3.1</cglib.version>
            <shiro.version>1.2.3</shiro.version>
            <commons.fileupload.version>1.3.1</commons.fileupload.version>
            <commons.codec.version>1.9</commons.codec.version>
            <commons.net.version>3.3</commons.net.version>
            <aspectj.version>1.6.12</aspectj.version>
            <netty.version>4.0.18.Final</netty.version>
            <hibernate.validator.version>5.1.1.Final</hibernate.validator.version>
        </properties>


    <build>
        <finalName>ssmwebsocetMaven</finalName>
          <!-- Maven插件 配置 -->
         <plugins>
            <!--用来编译源代码的  -->
              <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${plugin.maven-compiler}</version>
                <configuration>
                  <source>${project.build.jdk}</source>
                  <target>${project.build.jdk}</target>
                </configuration>  
              </plugin>



            <!-- 用于编译源码的插件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${plugin.maven-compiler}</version>
                <configuration>
                    <source>${project.build.jdk}</source>
                    <target>${project.build.jdk}</target>
                    <encoding>${project.build.sourceEncoding}</encoding>
                </configuration>
            </plugin>

            <!-- tomcat插件 -->
             <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>${plugin.maven-version}</version>
                <configuration>
                    <username>admin</username>  
                    <password>admin</password>
                    <url>http://localhost:9080/manager/text</url>
                    <uriEncoding>UTF-8</uriEncoding>
                   <server>TomcatServer</server>
                   <path>/gouwu</path>
                   <finalName>gouwu</finalName>
                </configuration>
            </plugin>
        </plugins>
    <!--配置Maven 对resource文件 过滤 -->
       <resources>
           <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource> 
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.java</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
              <resource>
                <directory>src/main/webapp</directory>
                <includes>
                    <include>**/*.css</include>
                    <include>**/*.html</include>
                    <include>**/*.js</include>
                    <include>**/*.jpg</include>
                    <include>**/*.jsp</include>
                    <include>**/*.ttf</include>
                    <include>**/*.woff</include>
                    <include>**/*.woff2</include>
                    <include>**/*.svg</include>
                    <include>**/*.eot</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
        <!-- 自定义编译输出目录 -->
<!--  
      <directory>${project.basedir}/target</directory>

      <outputDirectory>${project.basedir}/src/main/webapp/WEB-INF/classes</outputDirectory>

      <testOutputDirectory>${project.basedir}/src/main/webapp/WEB-INF/test-classes</testOutputDirectory>

      <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>

      <scriptSourceDirectory>${project.basedir}/src/main/scripts</scriptSourceDirectory>

      <testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory> -->

    </build>


    <!-- 配置使用的jar包 -->
    <dependencies>
        <!-- 测试jar包 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
        </dependency>




        <!-- springframe 相关的jar包 -->
        <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-context</artifactId>
            <version>4.0.5.RELEASE</version>
         </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!-- springframe 结束 -->

        <!-- mybatis 相关的jar包-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>${mybatis.version}</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>${mybatis.spring.version}</version>
        </dependency>
        <!--mybatis end-->

        <!-- mysql-相关的jar包 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.connector.version}</version>
        </dependency>

        <!-- DataSource,阿里缓存池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>${druid.version}</version>
        </dependency>
        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
        </dependency>
        <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>3.2.1</version>
        </dependency>
        <!-- jackson json格式化jar包-->
      <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.5.1</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.5.1</version>
        </dependency>

        <!-- log 日志jar包 -->
        <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>
        <!-- log end -->


        <!-- jstl -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>${jstl.version}</version>
        </dependency>

        <!-- 文件上传使用的jar包 -->
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>${commons.fileupload.version}</version>
        </dependency>
            <!--  java 文件ftp上传下载 断点续传 所需的jar包 -->
          <dependency>
            <groupId>commons-net</groupId>
            <artifactId>commons-net</artifactId>
            <version>${commons.net.version}</version>
        </dependency>
        <!-- end -->

        <!-- 实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等)
            支持自动转向
            支持 HTTPS 协议
            支持代理服务器等
            支持Cookie -->
      <!--   <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>${httpclient.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore</artifactId>
            <version>4.4.5</version>
        </dependency>-->
        <!-- 提供加密算法的jar包-->
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>${commons.codec.version}</version>
        </dependency>
        <!-- end apache -->

        <!-- google自己的集合库 -->
  <!--       <dependency>
            <groupId>com.google.collections</groupId>
            <artifactId>google-collections</artifactId>
            <version>${google.collections.version}</version>
        </dependency> -->

        <!-- cglib -->
         <dependency>
            <groupId>cglib</groupId>
            <artifactId>cglib-nodep</artifactId>
            <version>${cglib.version}</version>
        </dependency> 


        <!-- shiro -->
        <!-- <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-spring</artifactId>
            <version>${shiro.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-ehcache</artifactId>
            <version>${shiro.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-core</artifactId>
            <version>${shiro.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-web</artifactId>
            <version>${shiro.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-quartz</artifactId>
            <version>${shiro.version}</version>
        </dependency>-->
        <!--shiro end-->

      <!--   <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>${aspectj.version}</version>
        </dependency> -->


  </dependencies>

添加完jar包后,我们打开项目中的main的文件夹,在文件夹中添加java文件夹,然后就是创建包路径,这是我常用的文件包结构。
这里写图片描述
然后再resource文件夹中添加文件
这里写图片描述
在springmvc中


    <!-- 使用静态扫描的时候要加上 -->
    <mvc:annotation-driven/> 
    <!--Maven项目要加入 扫描静态文件 -->
     <mvc:resources location="/" mapping="/**"/> 



 <!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 -->  
    <context:component-scan base-package="com.turing.action,com.turing.service" />  
    <!--避免IE执行AJAX时,返回JSON出现下载文件           在spring4.0之后请用mappingJackson2HttpMessageConverter  spring4.0之前使用mappingJacksonHttpMessageConverter -->  
    <bean id="mappingJacksonHttpMessageConverter"     class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">  
        <property name="supportedMediaTypes">  
            <list>  
                <value>text/html;charset=UTF-8</value>  
            </list>  
        </property>  
    </bean>  
    <!-- 启动SpringMVC的注解功能,完成请求和注解POJO的映射 -->  
    <bean  
        class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">  
        <property name="messageConverters">  
            <list>  
                <ref bean="mappingJacksonHttpMessageConverter" /> <!-- JSON转换器 -->  
            </list>  
        </property>  
    </bean>  
    <!-- 定义跳转的文件的前后缀 ,视图模式配置-->  
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
        <!-- 这里的配置我的理解是自动给后面action的方法return的字符串加上前缀和后缀,变成一个 可用的url地址 -->  
        <property name="prefix" value="/jsp/" />  
        <property name="suffix" value=".jsp" />  
    </bean>  

    <!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 -->  
    <bean id="multipartResolver"    
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver">    
        <!-- 默认编码 -->  
        <property name="defaultEncoding" value="utf-8" />    
        <!-- 文件大小最大值 -->  
        <property name="maxUploadSize" value="10485760000" />    
        <!-- 内存中的最大值 -->  
        <property name="maxInMemorySize" value="40960" />    
    </bean>   

在springMybaties文件中


     <!-- 自动扫描 -->  
    <context:component-scan base-package="com.turing.entity,com.turing.mapper" />  


    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"   destroy-method="close">  
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />  
        <property name="url" value="jdbc:mysql://localhost:3306/Sopping" />  
        <property name="username" value="root" />  
        <property name="password" value="root" />  
    </bean>  

    <!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 -->  
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
        <property name="dataSource" ref="dataSource" />  
       <!-- 自动扫描mapping.xml文件  -->
        <property name="mapperLocations" value="classpath:com/turing/mapper/*.xml"></property>  
    </bean>  

    <!-- DAO接口所在包名,Spring会自动查找其下的类  -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">  
        <property name="basePackage" value="com.turing.mapper" />  
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>  
    </bean>   

<!--     (事务管理)transaction manager, use JtaTransactionManager for global tx   -->
    <bean id="transactionManager"  
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
        <property name="dataSource" ref="dataSource" />  
    </bean>  

要想在Maven项目中使用静态文件
一是在springmvc中添加扫描
二是在pom文件中添加静态文件扫描
三是在项目上右键配置项目的编译文件夹
这样静态文件就可以放在webapp文件夹下
这里写图片描述
ssm的项目到此结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值