SSM 项目基本配置

系列文章目录

提示:记录SSM 项目的配置文件配置步骤
可以创建配置模板,减少代码量,但是必须了解每个配置的作用



一、创建数据库和表单

CREATE DATABASE /*!32312 IF NOT EXISTS*/`crm` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `crm`;

/*Table structure for table `account` */

DROP TABLE IF EXISTS `account`;

CREATE TABLE `account` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `username` varchar(20) DEFAULT NULL COMMENT '姓名',
  `pwd` varchar(40) DEFAULT NULL COMMENT '密码',
  `img_url` varchar(200) DEFAULT 'default.png' COMMENT '头像地址',
  `create_time` datetime DEFAULT NULL COMMENT '注册时间',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `role` int(11) DEFAULT NULL COMMENT '角色:1超级管理员,0普通管理员',
  `status` int(11) DEFAULT NULL COMMENT '状态: 1启用,0禁用',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

/*Data for the table `account` */

insert  into `account`(`id`,`username`,`pwd`,`img_url`,`create_time`,`update_time`,`role`,`status`) values (1,'admin','c2f365c379ea6da2c2e42675fae561ac','default.png','2022-06-17 11:02:29','2022-06-21 23:08:43',1,1),(2,'lisi','c2f365c379ea6da2c2e42675fae561ac','default.png','2021-06-17 11:02:50','2022-06-22 07:35:23',0,1),(3,'zhangsan','c2f365c379ea6da2c2e42675fae561ac','default.png','2022-06-18 16:27:14',NULL,0,0),(4,'wangwu','c2f365c379ea6da2c2e42675fae561ac','default.png','2022-06-20 14:31:05',NULL,0,1);

/*Table structure for table `dept` */

DROP TABLE IF EXISTS `dept`;

CREATE TABLE `dept` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(20) DEFAULT NULL COMMENT '部门名称',
  `loc` varchar(200) DEFAULT NULL COMMENT '部门地址',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

/*Data for the table `dept` */

insert  into `dept`(`id`,`name`,`loc`) values (1,'Java开发部','武汉市江夏区久阳科技园5楼'),(2,'Java研发部','长沙市芙蓉区鲁巷广场4楼'),(3,'UI部','石家庄市石头区石头广场3楼'),(7,'JS开发部','石家庄市石头区石头广场3楼'),(8,'人力资源','广东省佛山市耀阳区万达广场'),(9,'这里是小卖部','小卖部小卖部小卖部小卖部');

/*Table structure for table `user` */

DROP TABLE IF EXISTS `user`;

CREATE TABLE `user` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `username` varchar(20) DEFAULT NULL COMMENT '客户姓名',
  `birthday` datetime DEFAULT NULL COMMENT '生日',
  `sex` varchar(2) DEFAULT NULL COMMENT '1男、0女',
  `tel` varchar(20) DEFAULT NULL COMMENT '手机',
  `sal` float(10,2) DEFAULT NULL COMMENT '薪资',
  `profession` varchar(2) DEFAULT NULL COMMENT '1攻城狮、2程序猿、3,码龙',
  `address` varchar(200) DEFAULT NULL COMMENT '客户住址',
  `remark` varchar(200) DEFAULT NULL COMMENT '备注',
  `dept_id` bigint(20) DEFAULT NULL COMMENT '部门编号',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=50 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

/*Data for the table `user` */

insert  into `user`(`id`,`username`,`birthday`,`sex`,`tel`,`sal`,`profession`,`address`,`remark`,`dept_id`) values (1,'大骚跨','2020-03-08 00:00:00','1','18812342278',2000.00,'3','湖北省武汉市江夏区光谷大道','哈哈',2),(2,'凤姐的姐我拼命的写','2020-03-15 00:00:00','0','13887654321',30004.00,'1','湖北省武汉市江夏区光谷大道汤逊湖街道','呜呼呼',2),(5,'傻了','2020-03-12 00:00:00','0','13812345699',3000.00,'2','湖北省武汉市江夏区光谷大道','哈哈',2),(7,'阿达','2020-03-12 00:00:00','1','13812345699',300023.00,'2','湖北省武汉市江夏区光谷大道','哈哈',2),(8,'大根儿','2020-03-12 00:00:00','0','15812345699',3000.00,'2','湖北省武汉市江夏区光谷大道','哈哈',2),(9,'雪亿雕','2020-03-10 00:00:00','0','13812345690',5000.00,'2','湖北省武汉市江夏区光谷','哈哈',3),(10,'叶仁界','2020-03-12 00:00:00','1','13812312312',30000.00,'2','湖北省武汉市江夏区光谷大道','哈哈',2),(11,'胡图图','2010-03-12 00:00:00','1','13812345749',30000.00,'3','翻斗大街翻斗花园翻斗小区5号','哈哈',2),(12,'小丁丁的丁丁','2020-03-12 00:00:00','0','13812345690',999999.00,'2','湖北省武汉市江夏区光谷大道','我是小丁丁的丁丁',2),(13,'老丁丁','2020-03-17 00:00:00','1','13865748984',3000.00,'2','湖北省武汉市江夏区光谷大道久阳科技园','真的够细',3),(14,'雪亿','2020-03-11 00:00:00','0','13812345690',3000.00,'2','湖北省武汉市江夏区光谷','哈哈',2),(15,'吴顺意','2020-03-12 00:00:00','0','13812345766',3000.00,'2','湖北省武汉市江夏区光谷大道','哈哈',2),(16,'旺仔','2010-05-12 00:00:00','1','13812345128',2000.00,'3','旺旺碎冰冰旺旺小小酥','哈哈',2),(17,'海绵宝宝','2020-03-12 00:00:00','1','13935647890',3000.00,'2','湖北省武汉市江夏区光谷大道','蟹黄堡真好吃',2),(18,'雪亿','2020-03-11 00:00:00','0','13812345695',3000.00,'2','湖北省武汉市江夏区光谷','哈哈',2),(19,'小鸟','2000-03-12 00:00:00','1','13512345666',30000.00,'1','湖北省武汉市江夏区武鸣校区','哈哈',1),(20,'凤姐的爷','2020-03-12 00:00:00','0','13838383838',3000.00,'2','湖北省武汉市江夏区光谷大道','哈哈',2),(21,'子龙','2020-03-11 00:00:00','0','13812345695',3000.00,'2','湖北省武汉市江夏区光谷','哈哈',2),(22,'吴顺意','2020-03-12 00:00:00','0','13817345766',3000.00,'2','湖北省武汉市江夏区光谷大道','哈哈',2),(23,'超人不想飞','2020-03-12 00:00:00','1','15812345888',3000.00,'2','湖北省武汉市江夏区光谷大道','交接',1),(24,'小小鸟','2020-03-12 00:00:00','0','15915915915',8888.00,'2','湖北省武汉市江夏区纸坊','哈哈',2),(25,'壮壮哥','2009-03-12 00:00:00','1','13813245749',35000.00,'3','翻斗大街翻斗花园翻斗小区7号','哈哈',2),(26,'东兴耀阳','2020-03-11 00:00:00','0','13812345695',3000.00,'2','湖北省武汉市江夏区光谷','哈哈',2),(27,'丁丁','2020-03-08 00:00:00','1','13865748988',50000.00,'1','湖北省武汉市江夏区光谷大道久阳科技园','真的够细',1),(28,'丁丁','2020-03-12 00:00:00','1','13814523679',30000.00,'1','湖北省武汉市江夏区光谷大道','哈哈',2),(29,'耀阳','2020-03-11 00:00:00','0','13812345695',3000.00,'2','湖北省武汉市江夏区光谷','哈哈',2),(30,'测试数据一','2050-03-12 00:00:00','0','17648522861',1.00,'2','湖北省武汉市江夏区光谷大大大道','remark',3),(31,'继康','2020-03-12 00:00:00','1','15857522736',2000.00,'3','湖北省武汉市江夏区光谷大道','我爱老丁',3),(32,'阿达的哥','2020-03-12 00:00:00','1','13869874563',300023.00,'2','湖北省武汉市江夏区光谷大道','哈哈',1),(33,'汪汪','2020-03-11 00:00:00','0','13812345695',3000.00,'2','湖北省武汉市江夏区光谷','哈哈',2),(34,'王钰隆','2020-06-22 00:00:00','0','13833344455',6000.00,'2','湖北省襄阳市蜜汁汉堡店','我是老八',2),(35,'翠花','1970-03-12 00:00:00','0','13718345666',999999.00,'3','湖北省武汉市江夏区无赖小区','嘿嘿',2),(36,'老根儿','2020-03-12 00:00:00','0','15812345699',3000.00,'2','湖北省武汉市江夏区光谷大道','哈哈',2),(37,'嘤嘤嘤','2020-03-12 00:00:00','1','15812345999',3000.00,'2','湖北省武汉市江夏区光谷大道','草',2),(38,'小姐姐','2000-03-12 00:00:00','0','13812345666',9999.00,'2','湖北省武汉市江夏区光谷大道大唐沐足','哈哈',1),(39,'丁真','2020-03-12 00:00:00','0','13574185269',3000.00,'2','萨达撒飒飒阿打算打11','哈哈哈哈',2),(40,'爷的凤姐','2020-03-12 00:00:00','0','13838383837',3000.00,'2','湖北省武汉市江夏区光谷大道','哈哈',2),(41,'凤姐的奶','2020-03-12 00:00:00','0','13812345625',3000.00,'2','湖北省武汉市江夏区光谷','哈哈',2),(42,'我是林北','2020-03-11 00:00:00','0','13812345695',3000.00,'2','湖北省武汉市江夏区光谷','哈哈',2),(43,'赵薇杨','2020-03-12 00:00:00','0','13743274590',2000.00,'1','安徽省宣城市宁国市南霁翔','哈哈',1),(44,'希瓦娜','2020-03-12 00:00:00','0','13814523679',30000.00,'1','湖北省武汉市江夏区光谷大道','哈哈',2),(45,'呆呆','2020-03-12 00:00:00','0','13869874563',6666.00,'2','湖北省武汉市江夏区光谷大道','哈哈',1),(46,'健康哥哥','2009-03-12 00:00:00','1','13813245549',2000.00,'1','翻斗大街翻斗花园翻斗小区阳光幼儿园','哈哈',2),(47,'顶针巨毒','2020-03-12 00:00:00','0','15812345699',3000.00,'3','湖北省武汉市江夏区光谷大道','哈哈',2),(48,'汪武阳','1970-03-12 00:00:00','1','13718345566',5.10,'1','湖北省武汉市江夏区无赖小区','嘿嘿',2);

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

思路 : 预估有三个表 user , account , dept ,主键都设置为自增

二、导入依赖

spring+springmvc相关的依赖

  • spring-webmvc
  • spring-jdbc
  • spring-context-support
  • spring-aspects

mybatis 核心包

  • mybatis

mybatis分页插件

  • pagehelper

spring和mybatis集合包

  • mybatis-spring

mysql驱动包

  • mysql-connector-java

log4j-core日志

  • log4j-core
  • commons-logging
  • log4j

引入lombok

  • lombok

引入jackson包

  • jackson-databind
  • javax.servlet-api

引入hutool工具类

  • hutool-all

文件上传包

  • commons-fileupload

引入druid数据库连接池

  • druid

引入hibernate数据校验

  • hibernate-validator
<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
         http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.powernode</groupId>
  <artifactId>SSMProject</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>SSMProject</name>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>

  <!-- 统一配置版本  防止依赖包之间有冲突-->	
    <spring.version>5.3.4</spring.version>
    <mybatis.version>3.5.7</mybatis.version>
    <pageHelper.version>5.2.0</pageHelper.version>
    <mysql.version>5.1.49</mysql.version>
    <mybatis-spring.version>2.0.6</mybatis-spring.version>
    <log4j-core.version>2.14.1</log4j-core.version>
    <logging.version>1.2</logging.version>
    <log4j.version>1.2.17</log4j.version>
    <lombok.version>1.18.20</lombok.version>
    <jackson.version>2.12.5</jackson.version>
    <fileUpload.version>1.4</fileUpload.version>
    <servlet.version>3.0.1</servlet.version>
    <hutool.version>5.7.11</hutool.version>
    <druid.version>1.2.8</druid.version>
    <hibernate-validator.version>6.2.3.Final</hibernate-validator.version>
  </properties>

  <!-- spring+springmvc相关的依赖 -->
  <dependencies>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <!-- aop 面向切面 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aspects</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <!--  mybatis核心包  -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>${mybatis.version}</version>
    </dependency>
    <!--  mybatis分页插件  -->
    <dependency>
      <groupId>com.github.pagehelper</groupId>
      <artifactId>pagehelper</artifactId>
      <version>${pageHelper.version}</version>
    </dependency>
    <!--  spring和mybatis集合包  -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>${mybatis-spring.version}</version>
    </dependency>
    <!--  mysql驱动包  -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>${mysql.version}</version>
    </dependency>
    <!--  log4j-core  -->
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-core</artifactId>
      <version>${log4j-core.version}</version>
    </dependency>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>${logging.version}</version>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>${log4j.version}</version>
    </dependency>
    <!--  引入lombok  -->
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>${lombok.version}</version>
    </dependency>
    <!--  引入jackson包  -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>${jackson.version}</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>${servlet.version}</version>
    </dependency>
    <!--  引入hutool工具类   -->
    <dependency>
      <groupId>cn.hutool</groupId>
      <artifactId>hutool-all</artifactId>
      <version>${hutool.version}</version>
    </dependency>
    <!--  文件上传包  -->
    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>${fileUpload.version}</version>
    </dependency>
    <!--  引入druid数据库连接池  -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>${druid.version}</version>
    </dependency>
    <!--  引入hibernate数据校验  -->
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-validator</artifactId>
      <version>${hibernate-validator.version}</version>
    </dependency>
  </dependencies>

<!-- 加载资源 *.xml    **/*.xml ==哪一个包下面的哪一个类下面的哪一个xml-->
  <build>
    <resources>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.xml</include>
        </includes>
      </resource>
    </resources>
  </build>

</project>

三 、springmvc.xml

1、表头

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       https://www.springframework.org/schema/context/spring-context.xsd
       http://www.springframework.org/schema/mvc
       https://www.springframework.org/schema/mvc/spring-mvc.xsd">

</beans>

2、开启组件扫描 ,扫描控制层

<!--  配置组件扫描,扫描控制层  -->
<context:component-scan base-package="com.powernode.controller"/>

3、 开启注解

  <!--  开启mvc注解  -->
    <mvc:annotation-driven/>

4、配置视图解析器

 <!--  配置视图解析器:InternalResourceViewResolver  -->
    <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/"></property>
        <property name="suffix" value=".html"></property>
    </bean>

5、 配置文件上传

  <!--  配置文件上传:CommonsMultipartResolver   1m 10m-->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!--       指定文件上传的编码格式         -->
        <property name="defaultEncoding" value="UTF-8"></property>
        <!--       指定单个文件上传的大小为1M=1024*1024byte         -->
        <property name="maxUploadSizePerFile" value="1048576"></property>
        <!--       指定所有文件的总大小10M         -->
        <property name="maxUploadSize" value="10485760"></property>
    </bean>

6、配置文件上传的基本属性

<!--      配置文件上传的基本属性  路径-->
  <bean id="uploadBean" class="com.powernode.common.UploadBean">
        <property name="baseUrl" value="D:/07.ssm/upload"></property>
    </bean>
    

7、配置拦截器

  <!--  配置拦截器  拦截所有,只有访问登录,登录,验证码,可以访问 -->
 <mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="/**"/>
            <!--  排除登录账号的接口  -->
            <mvc:exclude-mapping path="/account/getLogin.do"/>
            <!--  排除获取验证码的接口 -->
            <mvc:exclude-mapping path="/captcha/**"/>
            <!--   排除访问登录页面的接口         -->
            <mvc:exclude-mapping path="/forward/toLogin.do"/>
            <!--   拦截器-->
            <bean class="com.powernode.interceptors.AuthInterceptor"></bean>
        </mvc:interceptor>
    </mvc:interceptors>

完整代码

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       https://www.springframework.org/schema/context/spring-context.xsd
       http://www.springframework.org/schema/mvc
       https://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!--  配置组件扫描,扫描控制层  -->
    <context:component-scan base-package="com.powernode.controller"/>

    <!--  开启mvc注解  -->
    <mvc:annotation-driven/>

    <!--  配置视图解析器:InternalResourceViewResolver  -->
    <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/"></property>
        <property name="suffix" value=".html"></property>
    </bean>

    <!--  配置文件上传:CommonsMultipartResolver   1m 10m-->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!--       指定文件上传的编码格式         -->
        <property name="defaultEncoding" value="UTF-8"></property>
        <!--       指定单个文件上传的大小为1M=1024*1024byte         -->
        <property name="maxUploadSizePerFile" value="1048576"></property>
        <!--       指定所有文件的总大小10M         -->
        <property name="maxUploadSize" value="10485760"></property>
    </bean>


    <!--      配置文件上传的基本属性  路径-->
    <!--    <bean id="uploadBean" class="com.powernode.common.UploadBean">-->
    <!--        <property name="baseUrl" value="D:/07.ssm/upload"></property>-->
    <!--    </bean>-->
    <!--    -->
    <!--  配置拦截器  拦截所有,只有访问登录,登录,验证码,可以访问 -->
    <mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="/**"/>
            <!--  排除登录账号的接口  -->
            <mvc:exclude-mapping path="/account/getLogin.do"/>
            <!--  排除获取验证码的接口 -->
            <mvc:exclude-mapping path="/captcha/**"/>
            <!--   排除访问登录页面的接口         -->
            <mvc:exclude-mapping path="/forward/toLogin.do"/>
            <!--   拦截器-->
            <bean class="com.powernode.interceptors.AuthInterceptor"></bean>
        </mvc:interceptor>
    </mvc:interceptors>


</beans>

四 、spring-context.xml

1、表头

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       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
       https://www.springframework.org/schema/context/spring-context.xsd
       http://www.springframework.org/schema/tx
       http://www.springframework.org/schema/tx/spring-tx.xsd">

</beans>

2、 组件扫描 ,扫描业务层的实现类

 <!-- 组件扫描:扫描业务层的实现类  -->
    <context:component-scan base-package="com.powernode.service.impl"/>

3、引入外部数据源

 <!--  引入外部数据源  配置事务回滚-->
    <context:property-placeholder location="classpath:db.properties" system-properties-mode="FALLBACK"/>

4、数据库连接池

 <!--  连接池  initialSize设置连接池大小  maxActive设置最大连接 -->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="${jdbc.driver}"></property>
        <property name="url" value="${jdbc.url}"></property>
        <property name="username" value="${jdbc.username}"></property>
        <property name="password" value="${jdbc.password}"></property>
        <property name="initialSize" value="5"></property>
        <property name="maxActive" value="50"></property>
    </bean>

5、配置日志

 
    <!--  配置日志:Configiration    cacheEnabled 开启缓存-->
    <bean id="configuration" class="org.apache.ibatis.session.Configuration">
        <property name="logImpl" value="org.apache.ibatis.logging.log4j.Log4jImpl"></property>
        <property name="cacheEnabled " value="true"></property>
    </bean>

6、配置sqlsession

    <!--  获取Sqlsession  -->
    <bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--   数据源     -->
        <property name="dataSource" ref="dataSource"></property>
        <!--    局部.xml位置    -->
        <property name="mapperLocations" value="classpath*:mapper/*.xml"></property>
        <!--    分页插件    -->
        <property name="plugins">
            <array>
                <bean class="com.github.pagehelper.PageInterceptor"></bean>
            </array>
        </property>
        <!--    别名    -->
        <property name="typeAliasesPackage" value="com.powernode.domain"></property>
        <!--    日志    -->
        <property name="configuration" ref="configuration"></property>
    </bean>

7、指定mapper 层接口存放的位置

 <!--  指定mapper层接口存放的位置  -->
    <bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.powernode.mapper"></property>
    </bean>

8、事务

  <!--  事务  对我们的数据库的增删改 配置事务 -->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property>
    </bean>
    <!--  开启事务注解  -->
    <tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>

完整代码

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       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
       https://www.springframework.org/schema/context/spring-context.xsd
       http://www.springframework.org/schema/tx
       http://www.springframework.org/schema/tx/spring-tx.xsd">

    <!-- 组件扫描:扫描业务层的实现类  -->
    <context:component-scan base-package="com.powernode.service.impl"/>


    <!--  引入外部数据源  配置事务回滚-->
    <context:property-placeholder location="classpath:db.properties" system-properties-mode="FALLBACK"/>


    <!--  连接池  initialSize设置连接池大小  maxActive设置最大连接 -->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="${jdbc.driver}"></property>
        <property name="url" value="${jdbc.url}"></property>
        <property name="username" value="${jdbc.username}"></property>
        <property name="password" value="${jdbc.password}"></property>
        <property name="initialSize" value="5"></property>
        <property name="maxActive" value="50"></property>
    </bean>

    <!--  配置日志:Configiration    cacheEnabled 开启缓存-->
    <bean id="configuration" class="org.apache.ibatis.session.Configuration">
        <property name="logImpl" value="org.apache.ibatis.logging.log4j.Log4jImpl"></property>
<!--        <property name="cacheEnabled " value="true"></property>-->
    </bean>

    <!--  获取Sqlsession  -->
    <bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--   数据源     -->
        <property name="dataSource" ref="dataSource"></property>
        <!--    局部.xml位置    -->
<!--        <property name="mapperLocations" value="classpath*:mapper/*.xml"></property>-->
        <!--    分页插件    -->
        <property name="plugins">
            <array>
                <bean class="com.github.pagehelper.PageInterceptor"></bean>
            </array>
        </property>
        <!--    别名    -->
        <property name="typeAliasesPackage" value="com.powernode.domain"></property>
        <!--    日志    -->
        <property name="configuration" ref="configuration"></property>
    </bean>

    <!--  指定mapper层接口存放的位置  -->
    <bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.powernode.mapper"></property>
    </bean>

    <!--  事务  对我们的数据库的增删改 配置事务 -->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property>
    </bean>
    <!--  开启事务注解  -->
    <tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>

</beans>

5、 web.xml

1、 默认访问首页

 <!--  默认访问的首页  -->
    <welcome-file-list>
        <welcome-file>/index.jsp</welcome-file>
    </welcome-file-list>

2、配置中文乱码

<!--  配置处理中文乱码  访问springmvc-->
    <filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <servlet-name>springmvc</servlet-name>
    </filter-mapping>

3、配置druid监控sql、防火墙等

  <!--  配置druid监控sql、防火墙等  -->
    <servlet>
        <servlet-name>statViewServlet</servlet-name>
        <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
        <!--    指定登录账号    -->
        <init-param>
            <param-name>loginUsername</param-name>
            <param-value>admin</param-value>
        </init-param>
        <!--   指定登录密码     -->
        <init-param>
            <param-name>loginPassword</param-name>
            <param-value>123456</param-value>
        </init-param>
        <!--    指定白名单    -->
        <init-param>
            <param-name>allow</param-name>
            <param-value></param-value>
        </init-param>
        <!--   指定黑名单     -->
        <init-param>
            <param-name>deny</param-name>
            <param-value></param-value>
        </init-param>
    </servlet>
    <!--    druid文件下面所有类都配置-->
    <servlet-mapping>
        <servlet-name>statViewServlet</servlet-name>
        <url-pattern>/druid/*</url-pattern>
    </servlet-mapping>

4、配置监听器,读写spring-context.xml文件

 <!--  配置监听器:读写spring-context.xml文件  -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring-context.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

5、配置DispatcherServlet 读取springmvc.xml文件

 <!--  配置DispatcherServlet:读取springmvc.xml文件  -->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>

6、配置404

<!--  配置404  -->
    <error-page>
        <location>/error/404.html</location>
    </error-page>

7、完整代码

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
         http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <!--  默认访问的首页  -->
    <welcome-file-list>
        <welcome-file>/index.jsp</welcome-file>
    </welcome-file-list>

    <!--  配置处理中文乱码  访问springmvc-->
    <filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <servlet-name>springmvc</servlet-name>
    </filter-mapping>

    <!--  配置druid监控sql、防火墙等  -->
    <servlet>
        <servlet-name>statViewServlet</servlet-name>
        <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
        <!--    指定登录账号    -->
        <init-param>
            <param-name>loginUsername</param-name>
            <param-value>admin</param-value>
        </init-param>
        <!--   指定登录密码     -->
        <init-param>
            <param-name>loginPassword</param-name>
            <param-value>123456</param-value>
        </init-param>
        <!--    指定白名单    -->
        <init-param>
            <param-name>allow</param-name>
            <param-value></param-value>
        </init-param>
        <!--   指定黑名单     -->
        <init-param>
            <param-name>deny</param-name>
            <param-value></param-value>
        </init-param>
    </servlet>
<!--    druid文件下面所有类都配置-->
    <servlet-mapping>
        <servlet-name>statViewServlet</servlet-name>
        <url-pattern>/druid/*</url-pattern>
    </servlet-mapping>

    <!--  配置监听器:读写spring-context.xml文件  -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring-context.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <!--  配置DispatcherServlet:读取springmvc.xml文件   -->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    
    <!--  配置404  -->
    <error-page>
        <location>/error/404.html</location>
    </error-page>

</web-app>

项目结构 :
在这里插入图片描述

总结

提示:这里对文章进行总结:
加油打工人 wwwwwwwwwwwin!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

huangshaohui00

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值