利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)

时间:2022-08-31 06:50:04

前言

  此种方式已过时,不再推荐,当下推荐方式:自我救赎 → 利用 IDEA 和 Spring Boot 搭建 SSM

  本文旨在利用maven搭建ssm环境,而关于maven的具体内容,大家可以去阅读《Maven 实战》。其实园内这方面文章已有不少,那么为什么我还要重复造*呢?我只是想记录自己的实践过程罢了,附带着给别人以参考。对于别人的博文,看了固然好,要是能付之实践,那就更好了!

  一直在对整个工程做一些配置上的优化,具体代码可以从我的github下载

  基于目前spring-boot的火热,工程慢慢往springboot上转,码云地址:https://gitee.com/youzhibing/spring-boot-2.0.3

maven搭建

  安装过程挺简单的,去apache下载apache-maven的zip包,解压到一个目录下,如下图

利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)

  接下来配置windows环境,右击我的电脑--》属性--》高级系统设置--》环境变量--》系统变量--》新建,如下图

利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)

  就是你解压的maven的home目录;接着编辑系统变量的Path,如图

利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)

  其实跟配置java环境是一样的,最后几个连续确定之后就好了,这几个确定一定要点,不然配置不会保存,更不会生效! home路径一定要写自己的,别搬我的呀!路径最好是拷贝,手动输入太容易出错了。

  接下来验证环境是否配置成功,打开命令行,输入mvn -v 如果出现下图的信息,那么恭喜你,配置成功了!当然,信息可能有些许出入,如版本不同等,这些不用在意。

利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)

Eclipse(java ee版)集成maven

  一般而言,新的eclipse都已经集成了maven,如果没有那么就安装,点击eclipse菜单栏Help->Eclipse Marketplace搜索关键字maven到插件Maven Integration for Eclipse 并点击安装即可,接下来将eclipse集成的maven换成我们自己的,而不用eclipse自带的,重新定位,点击Window -> Preference -> Maven -> Installation -> Add进行设置,如下图

利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)

  设置完成,那么eclipse配置maven就完成了,myeclipse配置和这个是一样的。

创建ssm项目

  选择建立Maven Project 选择File -> New -> Other,在New窗口中选择 Maven -> Maven Project;点击next,如下图

利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)

  选择项目路径,如下图,然后next

  利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)

  选择项目类型 选择Artifact Id为maven-archetype-webapp那一项,如下图

利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)

  输入Group ID和 Artifact ID,以及Package,具体Group ID和 Artifact ID代表什么,可以去阅读《Maven 实战》,Group ID相当于一个组织,而Artifact ID相当于这个组织下的一个具体项目,Packege的话会根据你的Group ID和Artifact ID生成一个默认的名称,就用默认的就可以,如下图

利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)

  点finish之后,项目结构如下图

利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)

  若目录结构和上面的有差别,那么将perspective改成Java模式就好了。上面的目录结构离标准的maven web结构还有一点差别,少了一个文件夹src/test/resources,我们手动创建下,右键项目根目录点击New -> Source Folder,建出这个文件夹,如下图:

利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)

  Finish之后,项目结构图如下所示:

aaarticlea/png;base64,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" alt="" />

  把项目变成Dynamic Web项目右键项目,properties --》Project Facets,点击Convert to faceted fro,勾上Dynamic Web Module,并将Version为2.3。(3.0为Java7的)。

  设置部署程序集(Web Deployment Assembly)
        上面步骤设置完成后,点击OK,再右键项目,选择properties --》Deployment Assembly,如下图

利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)

  此处列表是,部署项目时,文件发布的路径。

(1)我们删除test的两项,因为test是测试使用,并不需要部署。

(2)设置将Maven的jar包发布到lib下。

Add -> JavaBuild Path Entries -> Maven Dependencies -> Finish

设置完成效果图

利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)

构建框架

  在pom.xml中添加所需要的jar包,内容如下图

<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>com.lee.mvnbook</groupId>
<artifactId>maven-ssm-web</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>maven-ssm-web Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<!-- spring版本号 -->
<spring.version>4.0.2.RELEASE</spring.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<!-- spring核心包 -->
<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>
<!-- 添加MyBatis依赖 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.3.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
<!-- 阿里巴巴的数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.26</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.16</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
<version>1.6.4</version>
</dependency> <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>maven-ssm-web</finalName>
</build>
</project>

  如果依赖不知道怎么写,比如groupId、artifactId、version不知道填什么,那么直接上http://search.maven.org/搜,对应着填写就可以了,如下图

利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)

  保存pom.xml,maven就会帮我们下载我们配置的所有jar包了,jar包依赖的jar包也会自动下载,是不是很方便!当然,这个下载可能需要较长的时间,不要急,当eclipse右下角的百分比进度没有了,就下载好了。jar包下载完成后,项目结构图如下

利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)

  配置文件

  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_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>SSM configuration</display-name>
<!-- 解决工程编码过滤器 -->
<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>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> <!-- 配置文件所在位置 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring.xml,classpath:mybatis-spring.xml</param-value>
</context-param>
<!-- Spring配置(监听器) -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener> <!-- SpringMVC配置 -->
<servlet>
<servlet-name>springDispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springDispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping> <welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

  spring.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: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.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd"> <!-- 自动注入 -->
<context:component-scan base-package="com.huawei.service.impl" />
<!-- 加载properties文件 -->
<!-- <bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list>
<value>classpath:mysqldb.properties</value>
</list>
</property>
</bean> -->
</beans>

  mybatis-spring.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: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.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd"> <!-- 配置数据源 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<!-- 基本属性 url、user、password -->
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://192.168.1.100:3306/mybatis" />
<property name="username" value="root" />
<property name="password" value="root" />
<property name="initialSize" value="1" />
<property name="minIdle" value="1" />
<property name="maxActive" value="20" />
<property name="maxWait" value="60000" />
<!-- 超过时间限制是否回收 -->
<property name="removeAbandoned" value="true" />
<!-- 超过时间限制多长; -->
<property name="removeAbandonedTimeout" value="180" />
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="300000" />
<!-- 用来检测连接是否有效的sql,要求是一个查询语句-->
<property name="validationQuery" value="SELECT 1" />
<!-- 申请连接的时候检测 -->
<property name="testWhileIdle" value="true" />
<!-- 申请连接时执行validationQuery检测连接是否有效,配置为true会降低性能 -->
<property name="testOnBorrow" value="false" />
<!-- 归还连接时执行validationQuery检测连接是否有效,配置为true会降低性能 -->
<property name="testOnReturn" value="false" />
</bean> <!-- Mybatis文件 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="configLocation" value="classpath:mybatis-config.xml" />
<property name="dataSource" ref="dataSource" />
<!-- 映射文件路径 -->
<!-- <property name="mapperLocations" value="com/huawei/mapping/*.xml" />-->
</bean> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.huawei.dao" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
</bean> <!-- 事务管理器 -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean> <tx:annotation-driven transaction-manager="transactionManager" />
</beans>

  spring-mvc.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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
"> <!-- 启用spring mvc 注解 -->
<context:annotation-config /> <!-- 设置使用注解的类所在的jar包 -->
<context:component-scan base-package="com.huawei.controller" /> <!-- 完成请求和注解POJO的映射 -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /> <!-- 对转向页面的路径解析。prefix:前缀, suffix:后缀 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/" p:suffix=".jsp" /> </beans>

  mybatis-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration>
<!-- 全局别名设置,在映射文件中只需写别名,而不必写出整个类路径 -->
<typeAliases>
<typeAlias type="com.huawei.model.Person" alias="Person"/>
</typeAliases>
<mappers>
<mapper resource="com/huawei/mapping/PersonMapper.xml" />
</mappers>
</configuration>

  log4j.properties

log4j.rootLogger=DEBUG, stdout
log4j.logger.org.mybatis=DEBUG
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p %d %C: %m%n

  mysqldb.properties

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://192.168.1.100:3306/mybatis
jdbc.username=root
jdbc.password=root
jdbc.initialSize=1
jdbc.minIdle=1
jdbc.maxActive=20
jdbc.maxWait=60000
jdbc.removeAbandoned=true
jdbc.removeAbandonedTimeout=180
jdbc.timeBetweenEvictionRunsMillis=60000
jdbc.minEvictableIdleTimeMillis=300000
jdbc.validationQuery=SELECT 1
jdbc.testWhileIdle=true
jdbc.testOnBorrow=false
jdbc.testOnReturn=false

  项目结构图如下

利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)

  java文件与jsp文件

  PersonController.java

package com.huawei.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping; import com.huawei.model.Person;
import com.huawei.service.IPersonService; @Controller
@RequestMapping("/personController")
public class PersonController { private IPersonService personService; public IPersonService getPersonService() {
return personService;
} @Autowired
public void setPersonService(IPersonService personService) {
this.personService = personService;
} @RequestMapping("/showPerson")
public String showPersons(Model model){
List<Person> persons = personService.loadPersons();
model.addAttribute("persons", persons);
return "showperson";
}
}

  PersonMapper.java

package com.huawei.dao;

import java.util.List;

import com.huawei.model.Person;

public interface PersonMapper {
/**
* 插入一条记录
* @param person
*/
void insert(Person person); /**
* 查询所有
* @return
*/
List<Person> queryAll();
}

  PersonMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.huawei.dao.PersonMapper">
<!-- 查询所有person -->
<select id="queryAll" resultType="Person" >
select * from person
</select>
</mapper>

  Person.java

package com.huawei.model;

/**
* person 实体
* @author Administrator
*
*/
public class Person { private int id;
private String name;
private int age; public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
} @Override
public String toString() {
return "Person [id=" + id + ", name=" + name + "]";
}
}

  IPersonService.java

package com.huawei.service;

import java.util.List;

import com.huawei.model.Person;

public interface IPersonService {

    /**
* 加载全部的person
* @return
*/
List<Person> loadPersons();
}

  PersonServiceImpl.java

package com.huawei.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import com.huawei.dao.PersonMapper;
import com.huawei.model.Person;
import com.huawei.service.IPersonService; @Service("personService")
public class PersonServiceImpl implements IPersonService { private PersonMapper personMapper; public PersonMapper getPersonMapper() {
return personMapper;
}
@Autowired
public void setPersonMapper(PersonMapper personMapper) {
this.personMapper = personMapper;
} @Override
public List<Person> loadPersons() {
return personMapper.queryAll();
} }

  showperson.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>person list</title>
</head>
<body>
<table>
<tr>
<th>姓名</th>
<th>年龄</th>
</tr>
<c:forEach items="${persons}" var="person">
<tr>
<td>${person.name }</td>
<td>${person.age }</td>
</tr>
</c:forEach>
</table>
</body>
</html>

mysql数据库表

利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)

利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)

最终效果

  aaarticlea/png;base64,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" alt="" />

  那么恭喜你,也恭喜我,搭建ssm成功了!

后话

  用心的小伙伴应该发现了,前面的windows配置maven和我们用eclipse搭建ssm没有一点关系,确实和ssm搭建没有什么卵关系,我写出来是为什么了,就是有时候我们不用IDE工具,而在dos命令下利用maven搭建我们的项目的时候,那么windows配置maven就需用到了!

  搭建过程中如果有什么问题,可以试着在评论区找答案,或者在关于利用maven搭建ssm的博客,我们一起来探讨下问的最多的问题中找答案