搭建SSM(Spring、SpringMVC、Mybatis)环境的Maven项目详细步骤

目录

前言:

第一步 搭建环境

     1.1    版本介绍

    1.2    环境初始化

       1.2.1    安装tomcat

       1.2.2    为eclipse配置tomcat

1.2.3    配置maven环境

    1.3    创建项目

         1.3.1    创建Maven项目

      1.3.2    为项目添加运行环境

    1.3.3    同步版本信息

   1.4    搭建框架

    1.4.1    添加依赖

    1.4.2   修改web.xml,添加spring容器,前端控制器,字符编码控制器

    1.4.3    添加SpringSpring 配置文件

    1.4.4    创建数据库属性文件

    1.4.5    创建SpringMVC配置文件

第二步    测试环境

    2.1    测试SpringMVC

        2.1.1    创建bean

    2.1.2    创建Controller

    2.1.3    运行项目


前言:

  1. 选择语言,由于本人一直在开发Java,所以选择Java这本语言。我安装的是jdk8.0_161,我是mac可系统,所以就不附上jdk的安装,对于还没有安装好jdk的朋友,直接去oracle官网下载就好,安装步骤百度一下都有,包括配置环境变量的步骤。

  2. 选择编辑器,我就选择开源的eclipse neon.3 ,只要是eclipse的版本具体的操作都差不多,直接官网下载解压一下就可以,免于安装了。不过工作路径设置的时候尽量全英文且没有空格,省的后期会出现问题。

第一步 搭建环境

     1.1    版本介绍

                 操作系统:Mac OS X

                 Jdk: 1.8.0_161

                 Eclipse: neon.3

                 服务器:tomcat 8.0

                 数据库:mysql 8.0.11

    1.2    环境初始化

       1.2.1    安装tomcat

                 具体下载个压缩包,直接解压即可;你可以下载安装运行exe一步步也可以安装成功。

       1.2.2    为eclipse配置tomcat

        Mac应用都有偏好设置,如图选择偏好设置;而windows系统选择Window->preferences。

 

               这接下来的显示mac与windows的页面是一致的,如图点击Server->Runtime Environments->Add

 

    选择Apache Tomcat v8.0,点击下一步。

 

    把你tomcat安装路径选入即可

 

    点击ok即可或者Apply and Close

 

1.2.3    配置maven环境

     如何安装maven这边就不详细介绍了,百度教程一堆,直接进入eclipse配置maven环境的这一步。

    按照步骤操作。

 

    选择你安装maven的路径,点击完成

 

    选择你添加的maven点击apply和ok

    接下来配置链接maven的本地仓库。

    第一步:你首先需要找到你的maven解压文件夹,然后打开conf子文件夹,然后编辑settings.xml

    然后回到eclipse中如下图页面

    点击apply然后点击ok。

    1.3    创建项目

         1.3.1    创建Maven项目

    选择File->New->Maven Project

 

    选择maven-archetype-webapp,然后点击下一步

 

    填写Group id,Artifact Id,Package,点击完成

 

    到这里项目创建完成了,但是项目节点上有个红叉叉,同时Markers中报错说找不到HttpServlet这个父类,下面我们解决一下。

 

      1.3.2    为项目添加运行环境

    鼠标放在项目名上,右键选择Build Path->Configure Build Path。

 

    切换到Linraries

 

    点击Add Libraries

 

    点击Server Runntime

 

    点击一下tomcat 8.0,点击完成。

 

    点击apply,然后点击ok

    1.3.3    同步版本信息

    打开Navigator

 

    跳到Navigator

 

    将红色内的版本更新如图

 

    将红色设置修改,并保存。

 

    将红色设置修改,并保存。

 

    删除红色部分警告暂时不用管。

    按照1.3.2修改j2ee 1.5位j2ee 1.8

    点击apply,然后点击ok

 

    打开根节点下的pom.xml添加如下代码

 

<build>
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>3.0</version>
			<configuration>
				<!-- 指定source和target的版本 -->
				<source>1.8</source>
				<target>1.8</target>
			</configuration>
		</plugin>
	</plugins>
</build>

    在项目节点右击,选择如图。

 

      勾选当前的项目,单击OK按钮。稍等片刻,项目中的红色叉叉应该会消失。如果没有消失再详细检查一下前面的所有步骤,然后看一下Markers中的错误。

   1.4    搭建框架

       确保上面步骤正确,接下来开始进行环境的搭建

    1.4.1    添加依赖

        打开根目录下pom.xml文件,添加必要的依赖,其中的路径修改为你项目的包路径即可,如图

<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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>cn.com.lgy</groupId>
	<artifactId>SSM-Demo</artifactId>
	<packaging>war</packaging>
	<version>0.0.1-SNAPSHOT</version>
	<name>SSM-Demo Maven Webapp</name>
	<url>http://maven.apache.org</url>
	<dependencies>
		<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.3.13.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.3.13.RELEASE</version>
        </dependency>
        <!--spring控制模块 -->
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-aspects -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aspects</artifactId>
            <version>4.3.13.RELEASE</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>4.3.13.RELEASE</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-test -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>4.3.13.RELEASE</version>
            <scope>test</scope>
        </dependency>

        <!-- mybatis -->
        <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.5</version>
        </dependency>
        <!-- mybatis整合spring的适配包 -->
        <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core -->
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.5</version>
        </dependency>

        <!-- 数据库连接池 -->
        <!-- https://mvnrepository.com/artifact/com.mchange/c3p0 -->
        <dependency>
            <groupId>com.mchange</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.5.2</version>
        </dependency>
        <!-- 数据库驱动 -->
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.40</version>
        </dependency>
        <!-- jstl -->
        <!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <!-- servlet api -->
        <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.28</version>
        </dependency>
		<dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
	</dependencies>
	<build>
		<finalName>SSM-Demo</finalName>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.0</version>
				<configuration>
					<!-- 指定source和target的版本 -->
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

    1.4.2   修改web.xml,添加spring容器,前端控制器,字符编码控制器

<?xml version="1.0" encoding="UTF-8"?>
<web-app  version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"  
                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
                                            http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
     <!-- 启动spring的容器 -->   
     <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
     </context-param>
     <listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
     </listener>
   <!-- Spring MVC的前端控制器 -->
    <servlet>
        <servlet-name>springMVC</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:SpringMVC-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>springMVC</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    <!-- 字符编码过滤器 -->
    <filter>
        <filter-name>characterEncodingFilter</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>forceRequestEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>forceResposeEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>characterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <!-- 使用rest风格的URI -->
    <filter>
        <filter-name>HiddenHttpMethodFilter</filter-name>
        <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>HiddenHttpMethodFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <display-name>Archetype Created Web Application</display-name>

</web-app>

    1.4.3    添加SpringSpring 配置文件

      在src\main\resources目录下新建名为applicationContext.xml的文件(注意:文件名和文件路径与web.xml中的配置有关,不要修改),添加如下代码,注意将代码中的包名修改为设置的。同时在该目录下创建名为mapper的文件夹,用来保存数据库映射文件。

<?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:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
	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
                           http://www.springframework.org/schema/aop
                           http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
                           http://www.springframework.org/schema/tx
                           http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
	<context:component-scan base-package="cn.com.lgy">
		<context:exclude-filter type="annotation"
			expression="org.springframework.stereotype.Controller" />
	</context:component-scan>
	<!--sping的配置文件和业务逻辑有关的 -->
	<context:property-placeholder location="classpath:jdbc.properties" />
	<bean id="pooledDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<property name="jdbcUrl" value="${jdbc.url}"></property>
		<property name="driverClass" value="${jdbc.driver}"></property>
		<property name="user" value="${jdbc.user}"></property>
		<property name="password" value="${jdbc.password}"></property>
	</bean>
	<!-- 配置和mybatis的整合 -->

	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<!-- 指定mybatis全局配置文件的位置 -->
		<property name="configLocation" value="classpath:mybatis-config.xml"></property>
		<property name="dataSource" ref="pooledDataSource"></property>
		<!-- 指定mybatis mapper文件的位置 -->
		<property name="mapperLocations" value="classpath:mapper/*.xml"></property>
	</bean>
	<!-- 配置扫描器 -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<!-- 扫描素有的dao接口的实现,加入到容器中 -->
		<property name="basePackage" value="cn.com.lgy.demo.dao"></property>
	</bean>
	<bean id="transactionManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="pooledDataSource"></property>
	</bean>
	<!-- 开启基于注解的事务 -->
	<aop:config>
		<!-- 切入点表达式 -->
		<aop:pointcut expression="execution(* cn.stevengo.ssmtest.service..*(..))"
			id="txPoint"></aop:pointcut>
		<aop:advisor advice-ref="txAdvice" pointcut-ref="txPoint" />
	</aop:config>
	<!-- 配置事务增强 -->
	<tx:advice id="txAdvice">
		<tx:attributes>
			<tx:method name="*" />
			<tx:method name="get*" read-only="true" />
		</tx:attributes>
	</tx:advice>
</beans>

    1.4.4    创建数据库属性文件

jdbc.url=jdbc:mysql://localhost:3306/testDB?useUnicode=true&characterEncoding=utf-8
jdbc.driver=com.mysql.jdbc.Driver
jdbc.user=root
jdbc.password=12345678

    1.4.5    创建SpringMVC配置文件

        在src\main\resources创建文件名为SpringMVC-servlet.xml的文件。因为我创建的项目的主要目的是为移动端写数据接口,在mvc:annotation-driven中配置了阿里巴巴的fastJson,可以将实体以json的形式返回。

<?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:mvc="http://www.springframework.org/schema/mvc"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
                        http://www.springframework.org/schema/beans/spring-beans-4.3.xsd 
                        http://www.springframework.org/schema/mvc 
                        http://www.springframework.org/schema/mvc/spring-mvc-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/aop 
                        http://www.springframework.org/schema/aop/spring-aop-4.3.xsd 
                        http://www.springframework.org/schema/tx 
                        http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
	<!-- spring MVC配置,包含网站跳转逻辑的控制,配置 -->
	<context:component-scan base-package="cn.com.lgy"
		use-default-filters="false">
		<!-- 只扫描控制器 -->
		<context:include-filter type="annotation"
			expression="org.springframework.stereotype.Controller"></context:include-filter>
	</context:component-scan>
	<!-- 定义无Controller的path<->view直接映射 -->
	<!-- 定义视图文件解析 -->
	<bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/view" />
		<property name="suffix" value=".jsp" />
	</bean>
	<!-- 对静态资源文件的访问, 将无法mapping到Controller的path交给default servlet handler处理 -->
	<mvc:default-servlet-handler />
	<mvc:annotation-driven>
		<mvc:message-converters register-defaults="false">
			<bean
				class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
				<property name="supportedMediaTypes">
					<list>
						<!-- 避免IE返回时出现下载提示! -->
						<value>text/html;charset=UTF-8</value>
						<value>application/json;charset=UTF-8</value>
					</list>
				</property>
			</bean>
		</mvc:message-converters>
	</mvc:annotation-driven>
</beans>

    1.4.6    创建mybatis配置文件

        在src\main\resources创建文件名为mybatis-config.xml的文件,配置信息如下,注意将包名替换为自己的。

        配置完成之后目录结构如图所以,大家对照看一下自己文件的位置有没有放错。然后执行依次update Project,看看项目有没有红叉叉,如果出现了对照错误信息看看哪一个环节出现问题了。 

      选择run on Server看到如图页面,说明环境已经搭建成功。

第二步    测试环境

    关于环境的测试,主要分为两个部分,第一是Spring MVC,第二是mybatis.创建包结构如下: 

    2.1    测试SpringMVC

        2.1.1    创建bean

       在cn.com.lgy.demo.bean创建TestBean.java,内容如下

package cn.com.lgy.demo.bean;

public class TestBean {
	private String testStr;
	private int testInt;

	public String getTestStr() {
		return testStr;
	}

	public void setTestStr(String testStr) {
		this.testStr = testStr;
	}

	public int getTestInt() {
		return testInt;
	}

	public void setTestInt(int testInt) {
		this.testInt = testInt;
	}

}

    2.1.2    创建Controller

package cn.com.lgy.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import cn.com.lgy.demo.bean.TestBean;

@Controller
public class TestController {
	@RequestMapping("stringTest")
	@ResponseBody
	public String returnStr() {
		return "你好,中文依旧可以正常显示";
	}

	@RequestMapping("entityTest")
	@ResponseBody
	public TestBean returnEntity() {
		TestBean testBean = new TestBean();
		testBean.setTestStr("测试实体类");
		testBean.setTestInt(23);
		return testBean;
	}
}

    2.1.3    运行项目

      启动服务,在地址栏输入:http://localhost:8080/SSM-Demo/stringTest,返回输入如下:

 

总结:一步一步走下来实际也会遇到些许问题,静下来你总可以把问题解决,每天都在进步,或许有一天就可以追到自己心中的那道曙光,一起加油吧。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值