从零开始搭建Eclipse + Maven + SSM 框架环境(详细)

自己用的版本比较老了,难得去换,这里整理一下搭建过程图片难得编辑了借用一下其他人的。

系统环境

1Windows 764
2
jdk1.7.0_67
3
Eclipse Version: Mars.2 Release (4.5.2)
4
apache-tomcat-7.0.61

5) apache-maven-3.3.9 

配置

一般来说,tomcat ,jdk ,maven一起配置就可以。windows->preferences->Server配置tomcat,顺便配置jdk,如图 

从零开始搭建Eclipse + Maven + SSM 框架环境(详细)_第1张图片

从零开始搭建Eclipse + Maven + SSM 框架环境(详细)_第2张图片

到此步,tomcat配置完成 

下面配置maven,在maven安装位置 设置自己的settings.xml 

从零开始搭建Eclipse + Maven + SSM 框架环境(详细)_第3张图片

添加本地mvn仓库位置

E:\FrankTest\ssmTestMvn  

因为众所周知的原因,直接访问maven公共仓库的速度比较慢,所以推荐使用阿里的maven仓库镜像。编辑setting.xml文件,在mirrors节点下,新增如下内容,这样从仓库中下载jar包速度上会快很多。

  
       nexus-aliyun  
       *  
       Nexus aliyun  
       http://maven.aliyun.com/nexus/content/groups/public  
 

项目后期避免JDK提示错误这里加上

  
		
			jdk-1.7
			
				true
				1.7
			
			
				1.7
				1.7
				1.7
			
		
	

选择菜单windows->preferences->Maven->UserSettings,具体看自己的配置文件,将配置文件和maven文件夹都设置好,如图 

从零开始搭建Eclipse + Maven + SSM 框架环境(详细)_第4张图片

点击Installations节点,添加maven-runtime

从零开始搭建Eclipse + Maven + SSM 框架环境(详细)_第5张图片

新建Maven项目

1)File->New->MavenProject 新建一个maven项目 

从零开始搭建Eclipse + Maven + SSM 框架环境(详细)_第6张图片

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

从零开始搭建Eclipse + Maven + SSM 框架环境(详细)_第7张图片

选择web类型

从零开始搭建Eclipse + Maven + SSM 框架环境(详细)_第8张图片

填写GroupID、ArtifactID

Group ID:相当于一个组织

Artifact ID:相当于这个组织下的一个具体项目

Packege:根据Group ID和Artifact ID生成一个默认的名称

从零开始搭建Eclipse + Maven + SSM 框架环境(详细)_第9张图片

最后,还有个index.jsp报错,我们需要引入Java EEjar包即可。在pom.xml中引入:

    
        
        javax    
        javaee-api    
        7.0    
    

在项目上右键,查看项目信息

默认的Dynamic Web Module为2.3,使用Tomcat 7,需要修改为3.0

从零开始搭建Eclipse + Maven + SSM 框架环境(详细)_第10张图片

修改方法:

 maven工程所在目录下org.eclipse.wst.common.project.facet.core.xml

从零开始搭建Eclipse + Maven + SSM 框架环境(详细)_第11张图片

编辑内容,如下所示

  
  
    
    
    
    
    
    
 

maven工程下的web.xml文件修改为

    
    
 

pom.xml文件中修改build节点,添加如下内容

  
    ssm  
      
          
            org.apache.maven.plugins  
            maven-compiler-plugin  
              
                1.7  
                1.7  
              
          
      
  

修改后,在项目上右键,找到Maven属性下的Update Project,点击之

从零开始搭建Eclipse + Maven + SSM 框架环境(详细)_第12张图片

选择该项目进行更新,如果怕不能强制更新,可以勾选Force Update of Snapshots/Releases

从零开始搭建Eclipse + Maven + SSM 框架环境(详细)_第13张图片

点击OK后更新maven项目,再观察项目属性,Module已经变为3.0

从零开始搭建Eclipse + Maven + SSM 框架环境(详细)_第14张图片

Maven  Project 创建完成

编辑pom.xml下载jar包



	4.0.0
	org.ssmtest
	ssm
	war
	0.0.1-SNAPSHOT
	ssm Maven Webapp
	http://maven.apache.org

	
		
		4.0.2.RELEASE
		
		3.2.6
		
		1.7.7
		1.2.17
	

	
		
			junit
			junit
			3.8.1
			test
		


		
		
			org.springframework
			spring-core
			${spring.version}
		

		
			org.springframework
			spring-web
			${spring.version}
		
		
			org.springframework
			spring-oxm
			${spring.version}
		
		
			org.springframework
			spring-tx
			${spring.version}
		

		
			org.springframework
			spring-jdbc
			${spring.version}
		

		
			org.springframework
			spring-webmvc
			${spring.version}
		
		
			org.springframework
			spring-aop
			${spring.version}
		

		
			org.springframework
			spring-context-support
			${spring.version}
		

		
			org.springframework
			spring-test
			${spring.version}
		
		
		
			org.mybatis
			mybatis
			${mybatis.version}
		
		
		
			org.mybatis
			mybatis-spring
			1.2.2
		
		
		
			javax
			javaee-api
			7.0
		
		
		
			mysql
			mysql-connector-java
			5.1.30
		
		
		
			commons-dbcp
			commons-dbcp
			1.2.2
		
		
		
			jstl
			jstl
			1.2
		
		
		
		
			log4j
			log4j
			${log4j.version}
		


		
		
			com.alibaba
			fastjson
			1.1.41
		


		
			org.slf4j
			slf4j-api
			${slf4j.version}
		

		
			org.slf4j
			slf4j-log4j12
			${slf4j.version}
		
		
		
		
			org.codehaus.jackson
			jackson-mapper-asl
			1.9.13
		
		
		
			commons-fileupload
			commons-fileupload
			1.3.1
		
		
			commons-io
			commons-io
			2.4
		
		
			commons-codec
			commons-codec
			1.9
		

	
	
		ssm
		
			
				org.apache.maven.plugins
				maven-compiler-plugin
				
					1.7
					1.7
				
			
		
	

整合配置文件

从零开始搭建Eclipse + Maven + SSM 框架环境(详细)_第15张图片

log4j.properties

 #定义LOG输出级别  
    log4j.rootLogger=INFO,Console,File  
    #定义日志输出目的地为控制台  
    log4j.appender.Console=org.apache.log4j.ConsoleAppender  
    log4j.appender.Console.Target=System.out  
    #可以灵活地指定日志输出格式,下面一行是指定具体的格式  
    log4j.appender.Console.layout = org.apache.log4j.PatternLayout  
    log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n  

    #文件大小到达指定尺寸的时候产生一个新的文件  
    log4j.appender.File = org.apache.log4j.RollingFileAppender  
    #指定输出目录  
    log4j.appender.File.File = logs/ssm.log  
    #定义文件最大大小  
    log4j.appender.File.MaxFileSize = 10MB  
    # 输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志  
    log4j.appender.File.Threshold = ALL  
    log4j.appender.File.layout = org.apache.log4j.PatternLayout  
    log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH:mm:ss}][%c]%m%

jdbc.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/test
username=root
password=root
#定义初始连接数
initialSize=0
#定义最大连接数  
maxActive=20
#定义最大空闲
maxIdle=20
#定义最小空闲
minIdle=1
#定义最长等待时间  
maxWait=60000

spring-mybatis.xml



	
	
	
	
		
	

	
		
		
		
		
		
		
		
		
		
		
		
		
		
		
	

	
	
		
		
		
	

	
	
		
		
	

	
	
		
	


spring-mvc.xml



	
	

	
	
		
			
				text/html;charset=UTF-8
			
		
	
	
	
		
			
				 
			
		
	
	
	
		
		
		
	

	
	
		
		
		
		
		
		
	

  

web.xml



	Archetype Created Web Application
	
	
		contextConfigLocation
		classpath:spring-mybatis.xml
	
	
	
		encodingFilter
		org.springframework.web.filter.CharacterEncodingFilter
		true
		
			encoding
			UTF-8
		
	
	
		encodingFilter
		/*
	
	
	
		org.springframework.web.context.ContextLoaderListener
	
	
	
		org.springframework.web.util.IntrospectorCleanupListener
	

	
	
		SpringMVC
		org.springframework.web.servlet.DispatcherServlet
		
			contextConfigLocation
			classpath:spring-mvc.xml
		
		1
		true
	
	
		SpringMVC
		
		/
	

	

		default

		*.jpg

	

	

		default

		*.js

	

	

		default

		*.css

	
	

		default

		*.gif

	

	
		/index.jsp
	

 

需要注意的是,spring-mybatisspring-mvc这两个配置文件里面涉及到路径的要改成自己的实际路径,不然会报错。

修改项目编译路径为JRE系统类库,否则后续操作出错

eclipse新建maven工程找不到src/main/java,并且提示已存在,也可以下面操作。

在项目上右键选择properties,然后点击Java build path,在Librarys下,编辑JRESystem Library

从零开始搭建Eclipse + Maven + SSM 框架环境(详细)_第16张图片

创建数据库

框架搭建完成,然后我们连接数据库测试一下,下面是数据库创建语句

DROP TABLE IF EXISTS `user_t`;
CREATE TABLE `user_t` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_name` varchar(40) NOT NULL,
  `password` varchar(255) NOT NULL,
  `age` int(4) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=125556 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of user_t
-- ----------------------------
INSERT INTO `user_t` VALUES ('12', '123', '123', '14');
INSERT INTO `user_t` VALUES ('123', 'test', '123', '13');
INSERT INTO `user_t` VALUES ('11111', 'zahgnsan', '123', '23');
INSERT INTO `user_t` VALUES ('123456', 'username', '12id', '34');
INSERT INTO `user_t` VALUES ('125555', '123', '123', '14');

编写后台

建表成功以后,我们使用mybatis的插件来生成接口和mapper的代码,可以参考这个博客:

https://blog.csdn.net/frank_hsu_/article/details/80284952

生成之后将文件拷贝到我们的目录下,如图:

从零开始搭建Eclipse + Maven + SSM 框架环境(详细)_第17张图片

然后我们从前台到后台写一条线,先写一个查询。敲之前记得先把maven更新一下。

User.java

package com.cn.ssm.pojo;

public class User {
	private Integer id;
	private String userName;
	private String password;
	private Integer age;

	/**
	 * @param id
	 * @param userName
	 * @param password
	 * @param age
	 */
	public User() {
		super();
	}

	public User(Integer id, String userName, String password, Integer age) {
		super();
		this.id = id;
		this.userName = userName;
		this.password = password;
		this.age = age;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public Integer getAge() {
		return age;
	}

	public void setAge(Integer age) {
		this.age = age;
	}

	@Override
	public String toString() {
		return "User [id=" + id + ", userName=" + userName + ", password=" + password + ", age=" + age + "]";
	}

}

UserMapper.java

package com.cn.ssm.dao;

import com.cn.ssm.pojo.User;

public interface UserMapper {
	int deleteByPrimaryKey(Integer id);

	int insert(User record);

	int insertSelective(User record);

	User selectByPrimaryKey(Integer id);

	int updateByPrimaryKeySelective(User record);

	int updateByPrimaryKey(User record);
}

UserMapper.xml




	
		
		
		
		
	
	
		id, user_name, password, age
	
	
	
		delete from user_t
		where id = #{id,jdbcType=INTEGER}
	
	
		insert into user_t (id, user_name, password,
		age)
		values (#{id,jdbcType=INTEGER}, #{userName,jdbcType=VARCHAR},
		#{password,jdbcType=VARCHAR},
		#{age,jdbcType=INTEGER})
	
	
		insert into user_t
		
			
				id,
			
			
				user_name,
			
			
				password,
			
			
				age,
			
		
		
			
				#{id,jdbcType=INTEGER},
			
			
				#{userName,jdbcType=VARCHAR},
			
			
				#{password,jdbcType=VARCHAR},
			
			
				#{age,jdbcType=INTEGER},
			
		
	
	
		update user_t
		
			
				user_name = #{userName,jdbcType=VARCHAR},
			
			
				password = #{password,jdbcType=VARCHAR},
			
			
				age = #{age,jdbcType=INTEGER},
			
		
		where id = #{id,jdbcType=INTEGER}
	
	
		update user_t
		set user_name = #{userName,jdbcType=VARCHAR},
		password = #{password,jdbcType=VARCHAR},
		age = #{age,jdbcType=INTEGER}
		where id = #{id,jdbcType=INTEGER}
	

IUserService.java

package com.cn.ssm.service;

import com.cn.ssm.pojo.User;

public interface IUserService {
	public User getUserById(int userId);
}

UserServiceImpl.java

package com.cn.ssm.service.impl;

import javax.annotation.Resource;
import javax.transaction.Transactional;

import org.springframework.stereotype.Service;

import com.cn.ssm.dao.UserMapper;
import com.cn.ssm.pojo.User;
import com.cn.ssm.service.IUserService;

@Service
@Transactional
public class UserServiceImpl implements IUserService {

	@Resource
	public UserMapper userMapper;

	public User getUserById(int userId) {
		// TODO Auto-generated method stub
		return this.userMapper.selectByPrimaryKey(userId);
	}

}

UserController.java

package com.cn.ssm.controller;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import com.cn.ssm.pojo.User;
import com.cn.ssm.service.IUserService;

@Controller
@RequestMapping("/user")
public class UserController {
	@Resource
	private IUserService userService;

	@RequestMapping("userShow")
	public String toIndex(HttpServletRequest request, Model model) {
		int userId = Integer.parseInt(request.getParameter("id"));
		System.out.println(userId);
		User user = userService.getUserById(userId);

		model.addAttribute("user", user);

		return "showUser";

	}
}

showUser.jsp

从零开始搭建Eclipse + Maven + SSM 框架环境(详细)_第18张图片
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>  
  
  
    
    测试  
    

    
    ${user.userName}  
    
 

显示

启动tomcat,然后在浏览器的地址栏输入 http://localhost:8080/ssm/user/userShow?id=12  
将ssm改成你的项目名称。 

显示如图:

从零开始搭建Eclipse + Maven + SSM 框架环境(详细)_第19张图片


至此,SSM三大框架的整合就完成了,在此基础上可再添加其他功能。

全文参考https://blog.csdn.net/zhemeban/article/details/65937841


你可能感兴趣的:(maven,SSM)