SSM的搭建详细过程

前言

准备开发一套部门管理系统 涉及到权限控制,log日志输出管理,generator自动生成mapper、实体类、dao层,mybaties SQL监控等等。选用的框架为SSM 本次就是详细记录一下  搭建的详细过程 然后做一个备忘录 共享出来让大家也可以参考一下 多多交流 留言评论 多批评zhi zheng

首先

IED:STS 

jdk:1.8

项目工程

SSM的搭建详细过程_第1张图片

使用java项目 手动配置  没有选用maven,原因:手动配置容易控制 很容易找到问题出现在哪里,问题出在哪里 找哪里

jar包:

SSM的搭建详细过程_第2张图片

设计表结构:

设计了好几张表 这里可以省略 这里你可以自己随便一个库在对应的库里设计几张表 

创建项目目录

分别有domain-实体类 dao层-mybaties的接口  这里我创建了一个common包里面是自己定义的一个工具类,还有一个exceptionhander是一个异常监听处理器。这俩部分可以忽略。接下来定义web项目所需的目录  固定套路:webapp-可以自定义,

WEB-INF--固定写法不能变 lib--存放jar包的地方  classes--项目字节码存放的地方  web.xml--web项目的入口,这几个都是固定的。

然后导入jar 部署项目 更改项目字节码存放地址更改为 classes的目录。 这样一个项目架子搭建完成了

部署项目和更改字节码的存放目录:

部署项目,我用的是一个插件三只可爱的小猫  我认为很好用,自己百度一下安装一下,然后关联一下tomcat,拷贝webapp的所在目录,放置到tomcat的conf目录下server.xml文件中,    相当于告诉tomcat服务器项目的所在位置。
更改classes文件的位置:选中classes文件 右键 buildpath 找到sorce模块 点击browser更改default output folder 文件更改到clases的位置:SSM的搭建详细过程_第3张图片

接下来就开始正题:

从web项目的入口开始配置:web.xml

首先考虑 一个springMVC的组件分为:前端控制器相当于servlet中的拦截器 拦截所有的请求,还有一个处理器映射器--根据url找到对应的controller类, 处理器适配器--根据controller类找到对应的controller中的方法 视图解析器--把数据封装为前端展示的数据 最后到自己的处理器--controller--自己处理请求的一些逻辑。

"1.0" encoding="utf-8"?>

"http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"

version="3.0">

SpringMVC

org.springframework.web.servlet.DispatcherServlet

contextConfigLocation

classpath:SpringMVC.xml

1

SpringMVC

/

 

    encodingFilter

    org.springframework.web.filter.CharacterEncodingFilter

   

      encoding

      UTF-8

   

   

      forceEncoding

      true

   

 

 

    encodingFilter

    /*

 

logbackConfigLocation

classpath:logback.xml

        DruidWebStatFilter

        com.alibaba.druid.support.http.WebStatFilter

       

            exclusions

            *.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*

       

   

   

        DruidWebStatFilter

        /*

   

   

   

        DruidStatView

        com.alibaba.druid.support.http.StatViewServlet

       

       

      loginUsername

      root

   

   

      loginPassword

      wangqiang

   

   

   

        DruidStatView

        /sys/druid/*

   

然后整合springMVC配置:springMVC.xml

"1.0" encoding="UTF-8"?>

"http://www.springframework.org/schema/beans"

        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

          xmlns:tx="http://www.springframework.org/schema/tx"

        xmlns:mvc="http://www.springframework.org/schema/mvc"

xmlns:context="http://www.springframework.org/schema/context"

xsi:schemaLocation="http://www.springframework.org/schema/mvc 

                    http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd

http://www.springframework.org/schema/beans 

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context 

http://www.springframework.org/schema/context/spring-context-4.3.xsd

http://www.springframework.org/schema/tx 

http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">

"classpath:ApplicationContext.xml"/>

    

   

   

   

    "Controller" />

    "dao" />

    "Controller" />

   

 

   

    "org.springframework.web.servlet.view.InternalResourceViewResolver">

        "prefix" value="/WEB-INF/view/" />

        "suffix" value=".jsp" />

   

   

    "org.springframework.web.servlet.view.json.MappingJackson2JsonView"/>

然后spring的配置:ApplicationContext.xml

"1.0" encoding="UTF-8"?>

"http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:aop="http://www.springframework.org/schema/aop"

xmlns:tx="http://www.springframework.org/schema/tx"

xsi:schemaLocation="http://www.springframework.org/schema/beans 

                    http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context 

http://www.springframework.org/schema/context/spring-context-4.3.xsd

http://www.springframework.org/schema/aop 

http://www.springframework.org/schema/aop/spring-aop-4.3.xsd

http://www.springframework.org/schema/tx 

http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">

 

"classpath:jdbc.properties" />

 

"common.ApplicationContextHelper" lazy-init="false" />

 

"DataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">

"username" value="${username}" />

"password" value="${password}" />

"url" value="${url}" />

"driverClassName" value="${driver}" />

"initialSize" value="3" />

        "minIdle" value="3" />

        "maxActive" value="20" />

        "maxWait" value="60000" />

        

        "filters" value="stat,wall" />

"sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

"dataSource" ref="DataSource" />

"configLocation" value="classpath:mybaties.xml" />

"mapperLocations" value="classpath:mappers/*.xml" />

 

"org.mybatis.spring.mapper.MapperScannerConfigurer">

"basePackage" value="dao"/>

"sqlSessionFactoryBeanName" value="sqlSessionFactory"/>

 

    "transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

        "dataSource" ref="DataSource" />

   

    "transactionManager" />

    

   

    "stat-filter" class="com.alibaba.druid.filter.stat.StatFilter">

        "slowSqlMillis" value="3000" />

        "logSlowSql" value="true" />

        "mergeSql" value="true" />

   

    

    "wall-filter" class="com.alibaba.druid.wall.WallFilter">

        "dbType" value="mysql" />

   

整合mybaties的配置:mybaties.xml

"1.0" encoding="UTF-8"?>

  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

  "http://mybatis.org/dtd/mybatis-3-config.dtd">

"lazyLoadingEnabled" value="true" />

"aggressiveLazyLoading" value="false" />

        "safeRowBoundsEnabled" value="true"/>

        "cacheEnabled" value="false" />

        "useGeneratedKeys" value="true" />

整合日志配置文件:logback.xml

"1.0" encoding="UTF-8"?>

"true" scanPeriod="60 seconds">

"STDOUT" class="ch.qos.logback.core.ConsoleAppender">

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n

"Log" class="ch.qos.logback.core.rolling.RollingFileAppender">

        ${catalina.home}/logs/Log-%d{yyyy-MM-dd}.log

        "ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

            ${catalina.home}/logs/Log-%d{yyyy-MM-dd}.log

       

       

            %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n

       

   

    "dao" level="debug" />

    

   

"dao.*" level="DEBUG" />

"infor">

  "STDOUT"/>

  "Log"/>

自动生成代码的genrator:需要提前在eclipse中安装一个mybaties的插件 生成一个文件:怎么安装和使用  自行百度

"1.0" encoding="UTF-8"?>

 

  "/Atomatic/java/SpringHomeWork/SpringMVCSpringMybaties/webapp/WEB-INF/lib/mysql-connector-java-8.0.12.jar" />

  "DB2Tables" targetRuntime="MyBatis3">

   

"suppressAllComments" value="true" />

    "jdbc:mysql://localhost:3306/AuthorityWeb" driverClass="com.mysql.cj.jdbc.Driver" password="wangqiang" userId="root" />

   

"forceBigDecimals" value="false" />

    "domain" targetProject="SpringMVCSpringMybaties">

    "enableSubPackages" value="true" />

"trimStrings" value="true" />

   

   

    "mappers" targetProject="SpringMVCSpringMybaties">

    "enableSubPackages" value="true" />

   

   

    "dao" targetProject="SpringMVCSpringMybaties" type="XMLMAPPER">

    "enableSubPackages" value="true" />

   

   

       

"" domainObjectName="" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />

 

搭建到这就可以启动项目  进行测试一下了  :

还有一个mysql的sql监控:等项目启动以后 访问地址http://localhost:8080/sys/druid/index.html  这个/sys/druid/取决于你的配置。ip取决于你实际用的ip地址和端口 打开这个网址 就说明成功了

SSM的搭建详细过程_第4张图片

 

搭建过程有些多  但是你看完了一定会有收获。一起加油!!!!

 

 

 

你可能感兴趣的:(SSM搭建详细过程)