IDEA整合SSM框架

一,环境准备

    * IDEA开发工具

    * JDK

    * Tomcat

    * Maven

二,环境配置

    * JDK和Maven配置HOME环境变量并引入Path路径,分别用java  -version和mvn -v验证

    * Maven配置工厂路径和镜像路径(从阿里云服务器下载,速度较快)

    -- 路径配置 ${MAVEN_HOME}\config\setting.xml

    IDEA整合SSM框架_第1张图片

E:/develop/apache-maven-3.5.3-bin/.m2/repository

    -- 镜像路径

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

三,搭建流程

1,创建maven项目

    * 指定JDK,注意不要选择圆框中的webapp

IDEA整合SSM框架_第2张图片

    * 自定义名称

IDEA整合SSM框架_第3张图片

    * 指定本地maven

    * 注意修改setting文件和maven工厂路径

IDEA整合SSM框架_第4张图片

    * 修改maven引入方式为自动引入

IDEA整合SSM框架_第5张图片

2,添加项目到Tomcat

    * 添加一个本地Tomcat,Tomcat Server不存在点最下面的more


IDEA整合SSM框架_第6张图片

    * 配置Tomcat名称,路径,jre路径和端口,默认浏览器

IDEA整合SSM框架_第7张图片

    * 添加项目,Artifact不存在,install一次maven项目,添加exploded后缀,可以热部署

    * 后面名称建议和项目名称保持一致

IDEA整合SSM框架_第8张图片

3,启动Tomcat

    * 直接点击上方启动按钮


    * 启动成功,会自动弹出指定浏览器显示结果

IDEA整合SSM框架_第9张图片

IDEA整合SSM框架_第10张图片

    * 踩坑日记

    -- 注意 : Tomcat整合maven和maven自身路径的jdk,jre路径保持一致,不然会出现莫名错误

    -- 注意 : 报1099,8085等端口冲突,正常情况下不是端口的问题,可以先试着install

    -- 注意 : 如果自认为一切都没问题了,还不能弹出的话,可以查看下maven和Tomcat的版本问题

4,搭建SSM框架

   * pom.xml




  4.0.0

  myProject
  com.gupao.myProject
  1.0-SNAPSHOT
  war

  com.gupao.myProject Maven Webapp
  
  http://www.example.com

  
    UTF-8
    1.7
    1.7
    UTF-8
    
    4.1.4.RELEASE
    
    3.2.8
    
    1.7.7
    1.2.17
    
    2.5.0
  

  

    
      junit
      junit
      3.8.1
      test
    
    
    
      org.mybatis
      mybatis
      ${mybatis.version}
    
    
    
      org.mybatis
      mybatis-spring
      1.2.2
    

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

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

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

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

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

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

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

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

    
      javax.servlet
      javax.servlet-api
      3.0.1
      provided
    

    
      javax.servlet.jsp
      jsp-api
      2.2
      provided
    

    
    
      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
    

    
      com.fasterxml.jackson.core
      jackson-databind
      2.1.0
    
    
      com.fasterxml.jackson.core
      jackson-annotations
      2.1.0
    

    
    
      commons-fileupload
      commons-fileupload
      1.3.1
    
    
      commons-io
      commons-io
      2.4
    
    
      commons-codec
      commons-codec
      1.9
    

    
      junit
      junit
      4.11
      
      test
    

    
    
      org.springframework
      spring-test
      4.1.7.RELEASE
    

    
      junit
      junit
      RELEASE
    

    
      org.jsoup
      jsoup
      1.8.1
    

    
      net.sourceforge.htmlunit
      htmlunit
      2.15
    


    
      org.seleniumhq.selenium
      selenium-java
      2.33.0
    

    
      us.codecraft
      webmagic-core
      0.6.1
    
    
      us.codecraft
      webmagic-extension
      0.6.1
    


  

  
    com.gupao.myProject
    
      
        
          maven-clean-plugin
          3.0.0
        
        
        
          maven-resources-plugin
          3.0.2
        
        
          maven-compiler-plugin
          3.7.0
        
        
          maven-surefire-plugin
          2.20.1
        
        
          maven-war-plugin
          3.2.0
        
        
          maven-install-plugin
          2.5.2
        
        
          maven-deploy-plugin
          2.8.2
        
      
    
    
      
        src/main/java
        
          **/*.properties
          **/*.xml
        
        true
      
    
  

    * web.xml文件



  MyProject
  
  
    contextConfigLocation
    classpath:spring/applicationContext-*.xml
  

  
  
    log4jRefreshInterval
    60000
  
  
    org.springframework.web.util.Log4jConfigListener
  


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

  

  
    CharacterEncodingFilter
    /*
  

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


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


  
  
    myProject
    
    /
  
  

  
  
    15
  


    * springmvc前端控制器指定的springmvc.xml



    
    
    
    
        
        
    
    
    
    

    
    
        
        
        
        
        
        
    


* spring核心配置指定的applicationContext-dao.xml



    
    
    
    
        
    

    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    

    
    
        
        
        
        
    

    
    
        
        
    

    
    
        
    


    * applicationContext-dao.xml引入的配置文件db.properties

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

    * applicationContext-dao.xml指定的mybatis配置文件SqlMapConfig.xml




    
    
        
        
    


    * 日志文件log4j.properties

#定义LOG输出级别
log4j.rootLogger=DEBUG,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


    * 项目结构展示 -- java

IDEA整合SSM框架_第11张图片

    * 项目结构展示 -- resource

IDEA整合SSM框架_第12张图片

5,Java代码

    * controller

@Controller
@RequestMapping("/myProjectController")
public class MyProjectController {

    @Autowired
    private IMyProjectService myProjectService;

    @RequestMapping(value = "/getAllUser", method = RequestMethod.GET)
    @ResponseBody
    public List> getAllUser() {
        return myProjectService.getAllUser();
    }
}

    * service -- 接口

public interface IMyProjectService {
    public List> getAllUser();
}

    * service -- 实现类

@Service
public class MyProjectServiceImpl implements IMyProjectService{

    @Autowired
    private IMyProjectDao myProjectDao;

    @Override
    public List> getAllUser() {
        return myProjectDao.getAllUser();
    }
}

    * dao -- 接口

@Repository
public interface IMyProjectDao {
    public List> getAllUser();
}

    * dao -- mapper





    

6,踩坑日记

    * No mapping found for HTTP request with URI [*********] in DispatcherServlet with name 'dispatch

     spring-mvc.xml配置 : 

    * 自动扫描包路径 : 

    * class path resource [spring/] cannot be resolved to URL because it does not exist 这个报错比较坑了

      完全找不到原因,在target目录中,也确实找不到resource下自定义目录的文件

    IDEA整合SSM框架_第13张图片

        解决:在pom.xml中添加配置


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

    * 最后,因为没有做页面,想通过GET方式直接返回查询结果到页面,走通一套流程。结果一直报404,但是看

      控制台确实SQL已经打印出来了,这是因为controller中没有添加@ResponseBody转换为json转回,页面不

      响应List,但是报404确实有点误导了

7,结果展示

IDEA整合SSM框架_第14张图片

IDEA整合SSM框架_第15张图片

你可能感兴趣的:(环境搭建,SSM,SSM框架,IDEA)