经过我们对mybatis和spring框架的学习,我们即将要用框架进行前后端数据交互,已经脱离了那种用servlet的方式进行数据传输,今天让我们来搭建最基本的springweb框架!!!
1.

2. 选择一个web项目

1.导入mybatis Jar包
- <dependency>
- <groupId>org.mybatisgroupId>
- <artifactId>mybatis-springartifactId>
- <version>1.3.1version>
- dependency>
2.配置 sqlSessionFactory(在spring-mybatis.xml中)
- <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
-
- <property name="dataSource" ref="dataSource">property>
-
- <property name="configLocation" value="classpath:mybatis-config.xml">property>
-
- <property name="mapperLocations" value="classpath:mappers/*Mappers.xml">
- property>
- bean>
- <bean id="mapperFactory"
- class="org.mybatis.spring.mapper.MapperScannerConfigurer">
- <property name="basePackage" value="com.ffyc.ssm.dao">property>
- <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory">
- property>
- bean>
- <dependency>
- <groupId>mysqlgroupId>
- <artifactId>mysql-connector-javaartifactId>
- <version>8.0.16version>
- dependency>
- <dependency>
- <groupId>org.mybatisgroupId>
- <artifactId>mybatisartifactId>
- <version>3.4.2version>
- dependency>
-
- <dependency>
- <groupId>junitgroupId>
- <artifactId>junitartifactId>
- <version>4.12version>
- <scope>providedscope>
- dependency>
-
- <dependency>
- <groupId>com.alibabagroupId>
- <artifactId>druidartifactId>
- <version>1.1.10version>
- dependency>
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-contextartifactId>
- <version>5.2.2.RELEASEversion>
- dependency>
-
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-jdbcartifactId>
- <version>5.2.2.RELEASEversion>
- dependency>
- <dependency>
- <groupId>mysqlgroupId>
- <artifactId>mysql-connector-javaartifactId>
- <version>8.0.16version>
- dependency>
-
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-aspectsartifactId>
- <version>5.2.2.RELEASEversion>
- dependency>
- "1.0" encoding="UTF-8" ?>
- configuration
- PUBLIC "-//mybatis.org//DTD Config
- 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-config.dtd">
- <configuration>
-
- <settings>
- <setting name="logImpl" value="STDOUT_LOGGING"/>
- settings>
-
- <typeAliases>
- <package name="com.ffyc.ssm.model"/>
- typeAliases>
-
-
- configuration>
- "1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:aop="http://www.springframework.org/schema/aop"
- xmlns:context="http://www.springframework.org/schema/context"
- 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.xsd
- http://www.springframework.org/schema/aop
- http://www.springframework.org/schema/aop/spring-aop.xsd">
-
- <context:component-scan base-package="com.ffyc.ssm"> context:component-scan>
-
-
-
- <aop:aspectj-autoproxy />
- beans>
- "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
- http://www.springframework.org/schema/context/spring-context.xsd
- http://www.springframework.org/schema/tx
- http://www.springframework.org/schema/tx/spring-tx.xsd">
- <context:property-placeholder location="classpath:config.properties">context:property-placeholder>
- <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
-
- <property name="driverClassName" value="${driver}">property>
- <property name="url" value="${url}">property>
- <property name="username" value="${uname}">property>
- <property name="password" value="${pwd}">property>
- <property name="initialSize" value="5">property>
- <property name="maxActive" value="10">property>
-
- bean>
-
-
-
- <bean id="transactionManager"
- class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
- <property name="dataSource" ref="dataSource">property>
- bean>
-
-
- <tx:annotation-driven transaction-manager="transactionManager"/>
- beans>
config.properties:
- driver=com.mysql.cj.jdbc.Driver
- url=jdbc:mysql://127.0.0.1:3306/数据库名?serverTimezone=Asia/Shanghai
- uname=账号 //不能写成username,可能会调用系统上的username,结果报错
- pwd=密码
将数据库db.xml添加到spring-mybatis.xml中,spring-mybatis.xml添加到spring.xml进行全局扫描
- "1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:aop="http://www.springframework.org/schema/aop"
- xmlns:context="http://www.springframework.org/schema/context"
- 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.xsd
- http://www.springframework.org/schema/aop
- http://www.springframework.org/schema/aop/spring-aop.xsd">
-
- <import resource="classpath:db.xml">import>
-
- <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
-
- <property name="dataSource" ref="dataSource">property>
-
- <property name="configLocation" value="classpath:mybatis-config.xml">property>
-
- <property name="mapperLocations" value="classpath:mappers/*Mappers.xml">
- property>
- bean>
- <bean id="mapperFactory"
- class="org.mybatis.spring.mapper.MapperScannerConfigurer">
- <property name="basePackage" value="com.ffyc.ssm.dao">property>
- <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory">
- property>
- bean>
-
- beans>
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-webmvcartifactId>
- <version>5.2.2.RELEASEversion>
- dependency>
- <servlet>
- <servlet-name>applicationservlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
- <init-param>
- <param-name>contextConfigLocationparam-name>
- <param-value>classpath:spring.xmlparam-value>
- init-param>
- <load-on-startup>0load-on-startup>
- servlet>
-
- <servlet-mapping>
- <servlet-name>applicationservlet-name>
- <url-pattern>/url-pattern>
- servlet-mapping>
新建一个xml文件,在spring.xml统一进行解析
-
- <mvc:annotation-driven>mvc:annotation-driven>
- <filter>
- <filter-name>characterEncodingFilterfilter-name>
- <filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class>
- <init-param>
- <param-name>encodingparam-name>
- <param-value>UTF-8param-value>
- init-param>
- filter>
- <filter-mapping>
- <filter-name>characterEncodingFilterfilter-name>
- <url-pattern>/*url-pattern>
- filter-mapping>
- <dependency>
- <groupId>com.google.code.gsongroupId>
- <artifactId>gsonartifactId>
- <version>2.8.6version>
- dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.coregroupId>
- <artifactId>jackson-databindartifactId>
- <version>2.13.3version>
- dependency>
- <dependency>
- <groupId>com.thetransactioncompanygroupId>
- <artifactId>cors-filterartifactId>
- <version>2.5version>
- dependency>
- <filter>
- <filter-name>CORSfilter-name>
- <filter-class>com.thetransactioncompany.cors.CORSFilterfilter-class>
- filter>
- <filter-mapping>
- <filter-name>CORSfilter-name>
- <url-pattern>/*url-pattern>
- filter-mapping>
- <mvc:interceptors>
- <mvc:interceptor>
- <mvc:mapping path="/**"/>
- <mvc:exclude-mapping path="/statics/**"/>
- <mvc:exclude-mapping path="/loginCtl/checklogin"/>
- <bean id="demo" class="com.ff.springMVC.util.DemoInterceptor">bean>
- mvc:interceptor>
- mvc:interceptors>
- <dependency>
- <groupId>commons-fileuploadgroupId>
- <artifactId>commons-fileuploadartifactId>
- <version>1.3.3version>
- dependency>
- 文件解析器
- <bean id="multipartResolver"
- class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
- <property name="defaultEncoding" value="utf-8">property>
- <property name="maxUploadSize" value="10485760">property>
- bean>
