目录
第三步:测试是否连接到数据库(注意开启数据库)此时整合大致结束!
6. 注解实现Spring - SpringMVC - MyBatis 整合
1. 注解实现Spring整合MyBatis
第一步:导入依赖(9个)
<!--Spring-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
<!--mybatis包-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
<!--MyBatis-Spring整合包-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.5</version>
</dependency>
<!--mysql的驱动包-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
<!--数据源依赖-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.6</version>
</dependency>
<!--测试-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.2.10.RELEASE</version>
<scope>test</scope>
</dependency>
<!--事务管理-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
<!--代理-->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.9.1</version>
</dependency>
第二步:将配置文件转为java文件
SpringConfig配置文件
JDBCConfig配置文件
MyBatis配置文件
第三步:测试是否连接到数据库(注意开启数据库)此时整合大致结束!
2. 注解实现SpringMVC配置!
第一步:添加依赖!
<!--Spring-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<!--Servlet API-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<!--配置端口号-->
<port>8888</port>
<!--配置上下文路径-->
<path>/</path>
<!--配置编码格式-->
<uriEncoding>UTF-8</uriEncoding>
</configuration>
</plugin>
</plugins>
</build>
第二步:将配置文件更替为java类。
SpringMVCConfig
WebContextInit
AbstractAnnotationConfigDispatcherServletInitializer 抽象的以注解形式配置DispatcherServlet初始化.
第三步:使用
3. 基于全注解的情况下,五种传参形式
- 普通参数
- POJO类型参数 (注意事项:请求参数key的名称要和POJO中属性的名称一致,否则无法封装)
- 嵌套POJO类型参数
- 数组类型参数
// 数组参数:同名请求参数可以直接映射到对应名称的形参数组对象中@RequestMapping ( "/arrayParam" )@ResponseBodypublic String arrayParam ( String [] likes ){System . out . println ( " 数组参数传递 likes ==> " + Arrays . toString ( likes ));return "{'module':'array param'}" ;}
- 集合类型参数
由于集合是接口型,如果不加@RequestParam ,会报以下错误:
- 日期类型参数
当日期形式是在导航栏中进行传参时:
2022/08/08
2022-08-08
当对象中有日期格式:(在对应字段上添加)
工作原理:其内部依赖Converter接口
public interface Converter < S , T > {@NullableT convert ( S var1 );}注意事项传递日期类型参数必须在配置类上使用@EnableWebMvc 注解。其功能之一:根据类型匹配对应的类型转换器。
4. json数据参数传递:
第一步:添加依赖:
<dependency><groupId> com.fasterxml.jackson.core </groupId><artifactId> jackson-databind </artifactId><version> 2.9.0 </version></dependency>
第二步:SpringMVC核心配置文件添加@EnableWebMvc
注意事项:
@EnableWebMvc注解功能强大,该注解整合了多个功能,此处仅使用其中一部分功能,即
json
数据进行自动类型转换
第三步:设置发送json数据(请求body中添加json数据)
第四步:控制层
5.JSON数据参数介质:
- json普通数组(["","","",...])
- json对象({key:value,key:value,...})
- json对象数组([{key:value,...},{key:value,...}])
6. 注解实现Spring - SpringMVC - MyBatis 整合
第一步:添加依赖:
第二步:编写java配置:
只需要将前俩种配置的合并在一起,并且如下图添加Spring的配置文件。
第三步:使用
7. 响应
7.1 响应跳转页面以及控制层.
7.2 文本数据【了解】
7.3 json数据【重点】
==
注意:需要添加
jackson-databind
依赖以及在
SpringMvcConfig
配置类上添加
@EnableWebMvc
注解
==
8.RESTful风格
Rest风格如何通过路径传递参数?
9.异常处理器:出现异常现象的常见位置与常见诱因如下:
- 框架内部抛出的异常:因使用不合规导致
- 数据层抛出的异常:因外部服务器故障导致(例如:服务器访问超时)
- 业务层抛出的异常:因业务逻辑书写错误导致(例如:遍历业务书写操作,导致索引异常等)
- 表现层抛出的异常:因数据收集、校验等规则导致(例如:不匹配的数据类型间导致异常)
- 工具类抛出的异常:因工具类书写不严谨不够健壮导致(例如:必要释放的连接长期未释放等