集成 Spring + Spring MVC + MyBatis 搭建单体应用

2021-02-18 03:17

阅读:634

YPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">

标签:文件路径   bin   mysql   throws   构建   ror   仓库   sqlt   action   

这里使用 Maven 项目管理工具构建项目

初始化项目

  • 打开 Intellij IDEA,点击 Create New Project
  • 选择 Maven 构建项目
  • 选择 JDK 版本
  • 勾选项目模板
  • 选择 maven-archetype-webapp 模板(Java Web 项目)
    技术图片
  • 填写项目在 Maven 仓库中的坐标(在 Maven 仓库中根据这个坐标才能找到该项目),具体命名规则根据公司决定
    技术图片
  • 选择 Maven 安装路径(此处不阐述 Maven 安装教程 的详细步骤)
  • 选择 Maven 配置文件路径
  • 选择 Maven 本地仓库路径
    技术图片
  • 填写项目名
  • 选择工作目录(不建议存放 C 盘)
    技术图片

整合 Spring、Spring MVC、Mybatis

src > main 目录下分别新建 java 源码目录 和 resource 配置文件目录
技术图片

java 目录下创建源码的基本目录结构(该目录结构仅供参考,建议改为模块化结构)
技术图片

webapp 目录下创建 static 目录,用于存放静态资源文件(css, js, img...)
技术图片

webapp > WEB-INF 目录下创建 view 目录,用于存放页面(jsp, html...)
技术图片

完整的 pom.xml 如下:

4.0.0com.antoniopeng
  hello-ssm
  1.0-SNAPSHOTwarhello-ssm Maven Webapphttp://www.example.comUTF-84.0.2.RELEASE3.2.61.7.71.2.17junit
      junit
      4.11compilelog4j
      log4j
      ${log4j.version}org.slf4j
      slf4j-api
      ${slf4j.version}org.slf4j
      slf4j-log4j12
      ${slf4j.version}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.aspectj
      aspectjweaver
      1.6.2com.mchange
      c3p0
      0.9.5.2org.mybatis
      mybatis
      ${mybatis.version}org.mybatis
      mybatis-spring
      1.2.2mysql
      mysql-connector-java
      5.1.30jstl
      jstl
      1.2javax
      javaee-api
      7.0commons-fileupload
      commons-fileupload
      1.3.1commons-io
      commons-io
      2.4commons-lang
      commons-lang
      2.6commons-codec
      commons-codec
      1.9hello-ssmorg.apache.maven.plugins
        maven-compiler-plugin
        1.81.8src/main/java**/*.xmlsrc/main/resource*.xml*.dll*.properties

创建 log4j.properties 日志配置文件(以下配置文件均在 resource 目录下新建)

log4j.rootLogger=error, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender  
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  
log4j.appender.stdout.layout.ConversionPattern=[service] %d - %c -%-4r [%t] %-5p %c %x - %m%n  

log4j.logger.com.ibatis = debug  
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource = debug  
log4j.logger.com.ibatis.common.jdbc.ScriptRunner = debug  
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate = debug  
log4j.logger.java.sql.Connection = debug  
log4j.logger.java.sql.Statement = debug  
log4j.logger.java.sql.PreparedStatement = debug
log4j.logger.java.sql.ResultSet =debug  
log4j.logger.com.pro.mapper =debug

创建 db.properties 数据库配置文件

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://{host}:{port}/{db_name}?useUnicode=true&characterEncoding=UTF-8
user={username}
password={pwd}

创建 mybatis-config.xml

创建 spring-context.xml

创建 spring-servlet.xml

com.antoniopeng.hello.ssm 目录下创建 filter 目录,并在其目录下创建 CharacterFilter 类,这一步是为了防止网页乱码

import javax.servlet.*;
import java.io.IOException;

public class CharacterFilter implements Filter {

    public CharacterFilter() {
        // TODO Auto-generated constructor stub
    }

    public void destroy() {
        // TODO Auto-generated method stub
    }

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        response.setContentType("text/html;charset=UTF-8");
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        chain.doFilter(request, response);
    }

    public void init(FilterConfig fConfig) throws ServletException {
        // TODO Auto-generated method stub
    }
}

修改后完整的 web.xml 如下:

/org.springframework.web.context.ContextLoaderListenercontextConfigLocation
      classpath:spring-context.xml
    characterFiltercom.antoniopeng.hello.ssm.filter.CharacterFiltercharacterFilter/*characterEncodingorg.springframework.web.filter.CharacterEncodingFilterencodingUTF-8characterEncoding/*springServletorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:spring-servlet.xmlspringServlet/

部署到 Tomcat 服务器

点击 Intellij IDEA 页面右上方 `Add Configuration..
技术图片

添加 Tomcat 本地服务器配置
技术图片

配置下载好的 Tomcat 服务器,Tomcat8 官网下载地址

设置访问端口号,默认 8080
技术图片

部署项目到 Tomcat 服务器
技术图片

测试运行访问

webapp > WEB-INF > view 目录下新建 index.jsp


index
    hello ssm

controller 目录下创建 IndexController

package com.antoniopeng.hello.ssm.controller;

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

@Controller
public class IndexController {

    @RequestMapping(value = "/")
    public String index() {
        return "index";
    }
}

启动 Tomcat 服务器,访问 http://localhost:8080

项目已经上传至 Git Hub,后续会持续更新微服务分布式架构解决方案

集成 Spring + Spring MVC + MyBatis 搭建单体应用

标签:文件路径   bin   mysql   throws   构建   ror   仓库   sqlt   action   

原文地址:https://blog.51cto.com/14790052/2486997


评论


亲,登录后才可以留言!