SSM框架搭建之maven方式(二)

一、MAVEN下载安装

网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、小程序制作、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了涵江免费建站欢迎大家使用!


maven的下载地址:http://maven.apache.org/download.cgi

SSM框架搭建之maven方式(二)

解压之后路径 D:\java\apache-maven-3.6.2;
新增系统变量【MAVEN_HOME】,变量名替换成自己本地解压路径

SSM框架搭建之maven方式(二)

系统变量【Path】追加值:%MAVEN_HOME%\bin

SSM框架搭建之maven方式(二)

运行cmd,输入mvn –version或者mvn –v;如果看见下图则说明maven安装配置完毕

SSM框架搭建之maven方式(二)

本地仓储配置文件:D:\java\apache-maven-3.6.2\conf\settings.xml
在maven目录下创建本地存储文件夹repository,设置本地存储路径 D:\java\apache-maven-3.6.2\repository

D:\java\apache-maven-3.6.2\repository

直接访问mavenD:\java\apache-maven-3.6.2\repository公共仓库的速度比较慢,所以推荐使用阿里的maven仓库镜像,在mirrors节点下,新增如下内容


          aliyun
          aliyun
          http://maven.aliyun.com/nexus/content/groups/public/
          central
        

设置默认jdk,在profiles节点下,新增如下内容(可以省略,在pom.xml配置也行)


        nexus
        
            
                central
                http://repo.maven.apache.org/maven2
                
                    false
                
            
            
                ansj-repo
                ansj Repository
                http://maven.nlpcn.org/
                
                    false
                
            
        
    

二、MAVEN配置


Maven项目目录结构
|----src
| |----main
| | |----java —— java文件
| | |----resource ——资源文件
| | |----webapp ——jsp/html/css/image/js文件
| |----test
| | |----java ——测试java文件
| | |----resource ——资源文件
|----target ——项目输出位置
|----pom.xml ——maven项目的标志


eclipse设置Maven
在Window----Preferences中找到Maven节点----User Setting,设置如下图:

SSM框架搭建之maven方式(二)

点击Installations节点,添加maven runtime如下图所示

SSM框架搭建之maven方式(二)

三、eclipse创建Maven工程


点击File----New----Maven Project(默认有的话)或者File----New----Other,选择maven文件夹,点击Maven Project如下图所示

SSM框架搭建之maven方式(二)

点击Next,选择默认工作空间位置,选择web类型,再点击Next

SSM框架搭建之maven方式(二)

SSM框架搭建之maven方式(二)

填写GroupID、ArtifactID,点击Finish完成maven项目web工程的创建
Group ID:相当于一个组织
Artifact ID:相当于这个组织下的一个具体项目
Packege:根据Group ID和Artifact ID生成一个默认的名称

SSM框架搭建之maven方式(二)

四、配置的修改


在项目上右键,查看项目信息,默认的Dynamic Web Module为2.3,使用Tomcat 8.5,需要修改为3.1

SSM框架搭建之maven方式(二)

(1).找到maven工程所在目录下org.eclipse.wst.common.project.facet.core.xml此文件

SSM框架搭建之maven方式(二)

SSM框架搭建之maven方式(二)

(2).maven工程下的web.xml文件替换为




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


       
              org.apache.maven.plugins
              maven-compiler-plugin
              
                     1.8
                     1.8
              
       
    

(4).在项目上右键,找到Maven属性下的Update Project

SSM框架搭建之maven方式(二)

(5).选择该项目进行更新,如果怕不能强制更新,可以勾选Force Update of Snapshots/Releases,更新完毕再一次查看Dynamic Web Module是否为3.1

SSM框架搭建之maven方式(二)

右键项目--Properties--Deployment Assembly,移除target

SSM框架搭建之maven方式(二)

五、案例测试


目录结构

SSM框架搭建之maven方式(二)

  1. Pom.xml再添加如下内容

        4.0.2.RELEASE
        3.2.8
        1.7.12
        1.2.17
    
    
        
        
            org.springframework
            spring-test
            ${srping.version}
        
        
            org.springframework
            spring-core
            ${srping.version}
        
        
            org.springframework
            spring-oxm
            ${srping.version}
        
        
            org.springframework
            spring-tx
            ${srping.version}
        
        
            org.springframework
            spring-jdbc
            ${srping.version}
        
        
            org.springframework
            spring-aop
            ${srping.version}
        
        
            org.apache.geronimo.bundles
            aspectjweaver
            1.6.8_2
        

        
            org.springframework
            spring-context
            ${srping.version}
        
        
            org.springframework
            spring-context-support
            ${srping.version}
        
        
            org.springframework
            spring-expression
            ${srping.version}
        
        
            org.springframework
            spring-orm
            ${srping.version}
        
        
            org.springframework
            spring-web
            ${srping.version}
        
        
            org.springframework
            spring-webmvc
            ${srping.version}
        
        

        
        
            org.mybatis
            mybatis
            ${mybatis.version}
        
        
            org.mybatis
            mybatis-spring
            1.2.2
        
        

        
        
            MySQL
            mysql-connector-java
            8.0.17
        
        
        
            commons-dbcp
            commons-dbcp
            1.4
        

        
        
            jstl
            jstl
            1.2
        
        
        
            log4j
            log4j
            ${log4j.version}
        
        
            org.slf4j
            slf4j-api
            ${slf4j.version}
        
        
            org.slf4j
            slf4j-log4j12
            ${slf4j.version}
        
        
        
        
        
            com.alibaba
            fastjson
            1.2.6
        
        
            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.10
        
        
        
            junit
            junit
            3.8.1
            test
        
        
            javax.servlet
            javax.servlet-api
            3.1.0
            provided
        
        
        
            javax
            javaee-api
            7.0
            provided
        

    

2.datasource.properties
mysql8的驱动名称不是com.mysql.jdbc.Driver;格外注意url的写法

datasource.driverClassName=com.mysql.cj.jdbc.Driver
datasource.userName=root
datasource.userPassword=123456
datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC

3. 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

#mybatis显示SQL语句日志配置     net.cxp.blog.dao是你的dao接口所在的包名  
#log4j.logger.org.mybatis=DEBUG
log4j.logger.com.lymn.it.mapper=DEBUG

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

4. spring-mvc.xml




    
    
    
    

    
    
    
        
        
        
    

    
    
    
    

5.spring-mybatis.xml




    
    
        
    

    
    

    
    
    
     
        
        
        
        
    

    
    
        
        
        
        
        
        
        
    
    
    
        
        
    

    
    
        
    
    
    
        
            
            
            
            
            
            
        
    
    
        
        
        
    

6.model--User

package com.lymn.it.model;

public class User {
        private Integer userid;
        private String username;
        private String password;
        private String email;
        private String phone;
        private Integer status;
        private String code;
        public Integer getUserid() {
            return userid;
        }
        public void setUserid(Integer userid) {
            this.userid = userid;
        }
        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 String getEmail() {
            return email;
        }
        public void setEmail(String email) {
            this.email = email;
        }
        public String getPhone() {
            return phone;
        }
        public void setPhone(String phone) {
            this.phone = phone;
        }
        public Integer getStatus() {
            return status;
        }
        public void setStatus(Integer status) {
            this.status = status;
        }
        public String getCode() {
            return code;
        }
        public void setCode(String code) {
            this.code = code;
        }
        @Override
        public String toString() {
            return "User [userid=" + userid + ", username=" + username + ", password=" + password + ", email=" + email
                    + ", phone=" + phone + ", status=" + status + ", code=" + code + "]";
        }

}

7.mapper-UserMapper.java

package com.lymn.it.mapper;

import java.util.List;

import com.lymn.it.model.User;

public interface UserMapper {
    public List getAllUsers();

    public User getUserById(int userid);

    public boolean deleteUserById(int userid);

    public boolean insertUser(User user);

    public boolean updateUserById(User user);
}

mapper-UserMapper.java




    
    
    
        INSERT INTO s_user(username,password,email,phone)
        VALUES(#{username},#{password},#{email},#{phone})
    
    
        UPDATE user SET username = #{username},
                          password = #{password},
                          email = #{email},
                          phone = #{phone}
                          WHERE 
                          userid = #{userid}
    
    
        DELETE  FROM user WHERE userid = #{userid}
    

8.service-UserService.java

package com.lymn.it.service;

import java.util.List;

import com.lymn.it.model.User;

public interface UserService {
    public List getAllUsers();

    public User getUserById(int userid);

    public boolean deleteUserById(int userid);

    public boolean insertUser(User user);

    public boolean updateUserById(User user);
}

service-UserServiceImpl.java

package com.lymn.it.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.lymn.it.mapper.UserMapper;
import com.lymn.it.model.User;
import com.lymn.it.service.UserService;

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    UserMapper userMapper;
    @Override
    public List getAllUsers() {
        return userMapper.getAllUsers();

    }

    @Override
    public User getUserById(int userid) {
        return userMapper.getUserById(userid);

    }

    @Override
    public boolean deleteUserById(int userid) {
        return userMapper.deleteUserById(userid);

    }

    @Override
    public boolean insertUser(User user) {
        return userMapper.insertUser(user);
    }

    @Override
    public boolean updateUserById(User user) {
        return userMapper.updateUserById(user);
    }

}

9.controller-UserController

package com.lymn.it.controller;

import java.util.List;
import java.util.Map;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.lymn.it.model.User;
import com.lymn.it.service.UserService;

@Controller
public class UserController {
    @Autowired
    UserService userService;
    Logger logger=Logger.getLogger(UserController.class);
    @RequestMapping(value="/user")
    public String user(Map map) {
        logger.info("查询所有用户数据");
        List userList =  userService.getAllUsers();
        map.put("user", userList);
        logger.info("查询完毕,返回页面");
        return "user";
    }

}

10.web.xml添加如下配置


    
        contextConfigLocation
        
        
            classpath:spring-mybatis.xml
        
    
    
    
        org.springframework.web.context.ContextLoaderListener
    

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

    
    
        org.springframework.web.util.IntrospectorCleanupListener
    

    
    
        encodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            utf-8
        
        
            forceEncoding
            true
        
    
    
        encodingFilter
        /*
    

11.jsp/user.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>




User


    

${requestScope.user}

12.建数据库test,然后在创建表

CREATE TABLE `user` (
  `userid` INT(11) NOT NULL AUTO_INCREMENT,
  `username` VARCHAR(255) DEFAULT NULL,
  `password` VARCHAR(255) DEFAULT NULL,
  `email` VARCHAR(255) DEFAULT NULL,
  `phone` VARCHAR(255) DEFAULT NULL,
  `status` VARCHAR(255) NOT NULL DEFAULT '0',
  `code` VARCHAR(255) DEFAULT NULL,
  PRIMARY KEY (`userid`)
) ENGINE=INNODB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;

13.项目部署

配置 Tomcat 访问权限,tomcat中tomcat-user.xml的配置(tomcat根目录/conf/tomcat-users.xml)

 



双击 tomcat 解压包中 bin 目录下的 startup.bat 命令进行启动Tomcat服务器。在浏览器地址来中进行访问http://127.0.0.1:8080/manager/

SSM框架搭建之maven方式(二)

输入用户名root,密码123456进行登录,如果顺利则请进入下一步。

SSM框架搭建之maven方式(二)

配置maven的setting.xml
在 conf/setting.xml 文件中的标签 添加如下内容

 
        
        tomcat8
        
        root
        123456
    

在 pom.xml 文件的plugins子节点中添加如下内容


                org.apache.tomcat.maven
                tomcat7-maven-plugin
                2.2
                
                    http://127.0.0.1:8080/manager/text
                    
                    tomcat8
                    root
                    123456
                    
                    /ssm01
                    true
                
            

先运行Tomcat目录下/bin/startup.bat
然后右击项目Run As–Maven build,在Goals中输入:clean install tomcat7:redeploy

访问如下图表示配置成功
SSM框架搭建之maven方式(二)

附:maven命令
执行命令
1)Run as → clean install
2)Run as → tomcat7:deploy 注:第1次部署执行
3)Run as → tomcat7:redeploy 注:第2次或以后需要重新发布执行
4)Run as → tomcat7:run 注:部署到 tomcat 中启动

在此过程中遇到的错误

SSM框架搭建之maven方式(二)

启动tomcat,在进行编译构建

SSM框架搭建之maven方式(二)

用Mybatis去操作底层数据库的时候,需要用到xml配置文件,一般我们是把配置文件和dao放置在同一层目录。操作maven项目的时候,我们可能会遇到无法读取到dao对应的mapper.xml文件。在pom.xml的build节点中添加如下内容


            
                src/main/resources
                
                    **/*.properties
                    **/*.xml
                
            
            
                src/main/java
                
                    **/*.properties
                    **/*.xml
                
            

或者
  
            org.codehaus.mojo  
            build-helper-maven-plugin  
            1.8  
              
                  
                    add-resource  
                    generate-resources  
                      
                        add-resource  
                      
                      
                          
                              
                                src/main/java  
                                  
                                    **/*.xml  
                                  
                              
                          
                      
                  
              
  
再或者

                org.codehaus.mojo
                build-helper-maven-plugin
                1.8
                
                    
                        add-resource
                        generate-resources
                        
                            add-resource
                        
                        
                            
                                
                                    src/main/java
                                    
                                        **/*.xml
                                    
                                
                            
                        
                    
                

标题名称:SSM框架搭建之maven方式(二)
标题来源:http://pwwzsj.com/article/jceeds.html