搭建maven spring+springmvc+mybatis项目

搭建maven spring+springmvc+mybatis项目

  • 前言
    • 创建项目
    • 引入相关依赖
    • 框架支持
    • 完善项目结构
    • 添加配置文件
    • 编写controller层代码

前言

最近项目一直是springboot的,近期接手一个老的spring项目,发现对于相关的配置不是很熟悉,于是自己参考网上资料重新搭建了一下,方便下次参考。
参考了这篇文章https://blog.csdn.net/shengshengshiwo/article/details/82979324

创建项目

搭建maven spring+springmvc+mybatis项目_第1张图片
新建maven项目,选择如图所示archetype,然后一直下一步,最终会生成如下的项目结构。
搭建maven spring+springmvc+mybatis项目_第2张图片

引入相关依赖


    UTF-8
    1.7
    1.7

    
    4.3.12.RELEASE

    
    3.2.4
  

  
    
      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}
    
    
    
      javax.servlet
      javax.servlet-api
      3.1.0
    
    
      javax.servlet.jsp
      jsp-api
      2.2
    
    
      javax.servlet
      jstl
      1.2
    

    
    
      org.mybatis
      mybatis-spring
      1.2.2
    

    
    
      mysql
      mysql-connector-java
      5.1.39
    

      
          com.aibank.ccs
          x-logger
          1.403.1-GA
      
    
      junit
      junit
      4.12
      test
    


  

上面的内容是引入的版本号,下面的是引入的依赖,注意spring最好用spring4,用3的话后面会出现好多问题。

框架支持

搭建maven spring+springmvc+mybatis项目_第3张图片
搭建maven spring+springmvc+mybatis项目_第4张图片
引入框架支持,这样项目中就会生成对应的xml
搭建maven spring+springmvc+mybatis项目_第5张图片
大致结构如上图所示

完善项目结构

搭建maven spring+springmvc+mybatis项目_第6张图片
我将最终的项目结构建成了如上这样
需要我们到这里设置每个文件属于何种类型
搭建maven spring+springmvc+mybatis项目_第7张图片

添加配置文件

web.xml




  Archetype Created Web Application

  
  
    index.jsp
  

  
  
    springMVC
    org.springframework.web.servlet.DispatcherServlet
    
      
      contextConfigLocation
      /WEB-INF/springmvc-config.xml
    
    1
    true
  
  
    springMVC
    /
  
  
  
    contextConfigLocation
    /WEB-INF/applicationContext.xml
  
  
    org.springframework.web.context.ContextLoaderListener
  

context-param标签
初始化过程:
1.在启动Web项目时,容器(比如Tomcat)会读web.xml配置文件中的两个节点和。
2.接着容器会创建一个ServletContext(上下文),应用范围内即整个WEB项目都能使用这个上下文。
3.接着容器会将读取到转化为键值对,并交给ServletContext。
4.容器创建中的类实例,即创建监听(备注:listener定义的类可以是自定义的类但必须需要继承ServletContextListener)。
在监听的类中会有一个contextInitialized(ServletContextEvent event)初始化方法,在这个方法中可以通过event.getServletContext().getInitParameter(“contextConfigLocation”) 来得到context-param 设定的值。在这个类中还必须有一个contextDestroyed(ServletContextEvent event) 销毁方法.用于关闭应用前释放资源,比如说数据库连接的关闭。
5.得到这个context-param的值之后,你就可以做一些操作了.注意,这个时候你的WEB项目还没有完全启动完成.这个动作会比所有的Servlet都要早。

applicationContext.xml
如上所说,tomcat会读取这个配置文件,这个配置文件是作为主配置文件使用



    
    

    
    


    
    
        
    

这里会通过<.import resource>引入其他的配置文件

spring-logger.xml 如下(仅仅作为例子)




    

    
    
        
        
    
    
        
            
                
            
        
    


下面回到web.xml
servlet mapping标签我现在理解是前端控制器,利用/来拦截对应的请求,然后通过对应关系映射到了springmvc-config.xml中

springmvc-config如下:



    

    
    

    
    
    

    
    
    
        
        
        
        
    

    
    



component-scan的作用是扫描对应包下的所有注解,并将对应的类注入到容器当中。

编写controller层代码

package demo.controller;

import com.aibank.ccs.logger.logger.CommonLogger;
import com.aibank.ccs.logger.logger.CommonLoggerFactory;
import com.alibaba.fastjson.JSON;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.HashMap;
import java.util.Map;

@Controller
@RequestMapping("/home")
//@ContextConfiguration(locations = "classpath:META-INF/spring-logger.xml")
public class IndexController {



    private static final CommonLogger logger = CommonLoggerFactory.getLogger(IndexController.class);

    @RequestMapping("/index")
    public String index(){
        Exception exception = new NullPointerException();
        Map map = new HashMap<>();
        map.put("phone", "18631353728");
        map.put("acctName", "李宗伟");
        Map map2 = new HashMap<>();
        map2.put("phone", "18631353728");
        map.put("abc", map2);
//        logger.log("MPB00001", exception);
        logger.log("DISTR_STAT_STATSUCCESS_FINISH_INFO", JSON.toJSON(map),exception);
//        logger.info("1111");
        return "index";
    }
}

将项目部署到tomcat后便可以启动
http://localhost:8080/ssm/home/index

你可能感兴趣的:(配置)