文章前面
关于版本
依赖 | 版本 |
---|---|
springboot | 2.0.8.RELEASE |
spring-mobile-starter | 2.0.0.M2 |
关于项目
本内容也是我尝试整理工作中接触过各种工具在springboot中使用的方法。下面介绍的所有方法都已经提供了测试用例。因为每个例子涉及代码较多,所以文章中只贴出了部分代码。全部的代码在这里:gitee地址。
Spring Mobile
spring mobile是spring提供的一个识别和处理不同设备请求的工具。其是一个非常小的内容,对于一些web移动端开发来说,我们可以使用此组件很快的实现移动设备的识别。
引入依赖
<dependencies>
<dependency>
<groupId>org.springframework.mobile</groupId>
<artifactId>spring-mobile-starter</artifactId>
<version>2.0.0.M2</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</repository>
</repositories>
java代码
spring mobile 主要提供了两项能力:
- 对请求设备的识别
- 根据请求的设备自动请求设备类型对应的地址
设备识别
设备检测处理的注入
/**
* 添加设备检测
* @author daify
* @date 2021-03-17
*/
@Configuration
public class DeviceConfig implements WebMvcConfigurer {
/**
* 设备解析处理
* @return
*/
@Bean
public DeviceResolverHandlerInterceptor deviceResolverHandlerInterceptor() {
return new DeviceResolverHandlerInterceptor();
}
/**
* 请求中Device参数的处理
* @return
*/
@Bean
public DeviceHandlerMethodArgumentResolver deviceHandlerMethodArgumentResolver() {
return new DeviceHandlerMethodArgumentResolver();
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(deviceResolverHandlerInterceptor());
}
@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
argumentResolvers.add(