idea搭建SSM框架遇踩的坑(附完整过程)

首先说明这是我一个不熟悉idea和SSM框架的新手小白遇到的坑,适合用idea搭建SSM框架的小伙伴看一看,老鸟就不用看了。以下为详细步骤(傻瓜教程,超级细节)

搭建SSM框架的前提当然是我们已经准备好一下环境

安装好的intellige idea, java环境,tomcat服务器,maven仓库,mysql数据库。

打开idea,new一个project,选择maven项目,如图,注意不要选错成上面那个webapp

idea搭建SSM框架遇踩的坑(附完整过程)_第1张图片

点击next继续,

idea搭建SSM框架遇踩的坑(附完整过程)_第2张图片

groupid一般是公司名,Artfactid一般为项目名,对于idea的项目目录结构,我自己也没弄明白,不过这并不影响我们的目标

点击next继续,

idea搭建SSM框架遇踩的坑(附完整过程)_第3张图片

这里我们使用自己的本地maven仓库,注意setting.xml,repository路径的修改。next继续,然后finish。

第一次建web maven项目可能需要的时间比较长,耐心等待Maven execution finished。最后的项目结构如下图

idea搭建SSM框架遇踩的坑(附完整过程)_第4张图片

我们需要在main包下面新建一个java根目录

idea搭建SSM框架遇踩的坑(附完整过程)_第5张图片

然后将java目录改成资源根目录。

然后再java目录下创建package  com.ssm 如图

再在com.ssm下创建一个a.txt文件来分隔路径 

然后在com.ssm 下创建一下6个package,然后删除a.txt,最后如下

idea搭建SSM框架遇踩的坑(附完整过程)_第6张图片

修改pom.xml的内容如下


  4.0.0
  自己项目的groupId
  自己项目对应
  war
  1.0-SNAPSHOT
  同上对应 Maven Webapp
  http://maven.apache.org
  
    
    4.0.2.RELEASE
    
    3.2.6
    
    1.7.7
    1.2.17
  
  
    
      junit
      junit
      4.11
      
      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
    

    
      org.springframework
      spring-messaging
      4.0.5.RELEASE
    
    
      org.springframework
      spring-websocket
      4.0.5.RELEASE
    
    
      com.google.code.gson
      gson
      2.3.1
    

  

  
    ProjectMatch
    
      
        ${basedir}/src/main/java
        
          **/*.xml
        
      
    
  

然后在resources目录下新建如下4个文件如图

idea搭建SSM框架遇踩的坑(附完整过程)_第7张图片

jdbc.properties 内容如下,标红的地方都需要按自己数据库修改,test为数据库名

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
username=root
password=123456
#定义初始连接数
initialSize=0
#定义最大连接数
maxActive=20
#定义最大空闲
maxIdle=20
#定义最小空闲
minIdle=1
#定义最长等待时间
maxWait=60000

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%n

spring-mvc.xml内容如下 ,红色标记需要自己对应修改



    
    
    
    
        
            
                text/html;charset=UTF-8
            
        
    

    

    
    
        
            
                 
            
        
    



    
    
        
        
        
    

    
    
        
        
        
        
        
        
    

    
    
    
    
    
    

spring-mybatis.xml内容如下 同上



    
    
    
    
        
    

    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    

    
    
        
        
        
        
    

    
    
        
        
        
        
    

    
    
        
        
    

    
    
        
    

然后项目的web.xml也要对应修改 如下,红色标记同上




  Archetype Created Web Application
  
  
    contextConfigLocation
    classpath:spring-mybatis.xml
  

  
  
    log4jRefreshInterval
    60000
  
  
    org.springframework.web.util.Log4jConfigListener
  

  
  
    encodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    
      encoding
      UTF-8
    
  

  
    encodingFilter
    /*
  

  
  
    org.springframework.web.context.ContextLoaderListener
  
  
  
    org.springframework.web.util.IntrospectorCleanupListener
  

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


  
  
    mvc-dispatcher
    
    /
  
  

  
  
    15
  

然后我们就可以编写测试了。

在数据库中创建user表,有两条记录,如图

idea搭建SSM框架遇踩的坑(附完整过程)_第8张图片

在pojo包中创建user类

package com.qihang.pojo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

@Entity
@Table(name = "user")
public class user {

    @Column(name = "username")
    String username;

    @Column(name = "password")
    String password;

    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;
    }
}

在dao包中创建userDao接口

package com.qihang.dao;

import com.qihang.pojo.user;

public interface userDao {
    public user selectByUserId(String username);

    public int insertUser(user user);
}

在mapper包中创建userMapping.xml




    
        
        
    

    
        #{username},#{password}
    

    

    
        INSERT  INTO user
        VALUE()
    

在services包中创建userService接口

package com.qihang.services;

import com.qihang.pojo.user;

public interface userService {
    public user querybyUsername(String username);

    public int insert(user user);
}

在servicesImp中创建userServiceImp类

package com.qihang.servicesImp;

import com.qihang.pojo.user;
import com.qihang.services.userService;
import com.qihang.dao.userDao;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;

@Service("userServiceImp")
public class userServiceImp implements userService {

    @Autowired
    private userDao userDao;
    public int insert(user user) {
        return userDao.insertUser(user);
    }

    public user querybyUsername(String username) {
        return userDao.selectByUserId(username);
    }
}

在WEB-INF下创建page包,然后在page包中创建test.jsp文件 如图

idea搭建SSM框架遇踩的坑(附完整过程)_第9张图片

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


用户名

${user.username}

密码

${user.password}

然后在controller包下创建userController类

package com.qihang.controller;

import com.qihang.pojo.user;
import com.qihang.services.userService;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class UserController {
    @Autowired
    private userService userService;

    @RequestMapping("/query")
    public String query(@RequestParam(value = "username",required = true) String username, Model model){
        user user = new user();
        user = userService.querybyUsername(username);
        model.addAttribute("user",user);
        return "test";

做到这里就把测试domo写完了,下一步将项目部署到服务器。

如图点击配置

点击 +

idea搭建SSM框架遇踩的坑(附完整过程)_第10张图片

将本地tomcat配置好,按如图deployment 

idea搭建SSM框架遇踩的坑(附完整过程)_第11张图片

配置好就完成了。点击运行,在浏览器上输入

http://localhost:8080/query?username=lisi

看到如下就说明我们配置ok了

idea搭建SSM框架遇踩的坑(附完整过程)_第12张图片

谢谢你们,看到这里也是幸苦了,如果还没有成功的再认真看看还有哪里是不是遗漏了,也可以在楼下留言,千万别灰心,程序员工作就是与bug作斗争的过程,也是在这些坑中慢慢学习的。

对于新手小白,经常会花很多时间在这些框架的搭建上或是一些工具的配置,而且由于不熟悉,会踩很多坑,花大量时间在这上面确实很不值得的。写这篇博客也是为大家能在学习的路上能更顺利些,当然也是给自己的踩坑路做个记录吧

总结

到此这篇关于idea搭建SSM框架遇踩的坑的文章就介绍到这了,更多相关idea搭建SSM框架内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(idea搭建SSM框架遇踩的坑(附完整过程))