SpringBoot窥探2--整合第三方

2024-08-30 04:38

本文主要是介绍SpringBoot窥探2--整合第三方,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一:Spring Boot 使用Swagger2构建RESTful API

二:Springboot整合Mybatis

三:Spring Boot 整合 Dubbo

四:Spring Boot 整合 Elasticsearch


一:Spring Boot 使用Swagger2构建RESTful API

 1.版本说明

         springboot版本: <version>2.2.2.RELEASE</version>

         swagger2版本:   <version>2.9.2</version>

       说明:在springboot整合swaggger2时,注意springboot版本和swagger2版本关系,否则启动会失败,报如下类似错误:

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2020-03-26 11:35:44.287 ERROR 11728 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   : ***************************
APPLICATION FAILED TO START
***************************Description:Parameter 0 of method linkDiscoverers in org.springframework.hateoas.config.HateoasConfiguration required a single bean, but 15 were found:- modelBuilderPluginRegistry: defined in null- modelPropertyBuilderPluginRegistry: defined in null- typeNameProviderPluginRegistry: defined in null- documentationPluginRegistry: defined in null

 2.注解说明

             参考: swagger2 注解整体说明1

             参考:swagger2 注解说明2

二:Springboot整合Mybatis

0.注解说明

@Mapper 标志接口为 MyBatis Mapper 接口

@Select 是 Select 操作语句

@Results 标志结果集,以及与库表字段的映射关系 

@MapperScan ("指定mapper接口包路径")   mapper接口扫描,配置到springboot启动类上

1.添加依赖

<!--springboot 整合mybaits-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>

2.application.properties添加mybaits配置

## Mybatis 配置
mybatis.typeAliasesPackage=com.gm.springmvcdemo.domain
mybatis.mapperLocations=classpath:mapper/*.xml

   其他相关配置详解:

mybatis.config = mybatis 配置文件名称
mybatis.mapperLocations = mapper xml 文件地址
mybatis.typeAliasesPackage = 实体类包路径
mybatis.typeHandlersPackage = type handlers 处理器包路径
mybatis.check-config-location = 检查 mybatis 配置是否存在,一般命名为 mybatis-config.xml
mybatis.executorType = 执行模式。默认是 SIMPLE

3.启动类添加注解@MapperScan

@SpringBootApplication  //启动类
@MapperScan("com.gm.springmvcdemo.dao")    // mapper 接口类扫描包配置
public class SpringmvcdemoApplication{public static void main(String[] args) {SpringApplication.run(SpringmvcdemoApplication.class, args);}}

4.Controller层

@RestController
@RequestMapping("/user")
public class UserController {Logger logger = LoggerFactory.getLogger(UserController.class);@Autowiredpublic UserService userService;@RequestMapping(value ="/query", method = {RequestMethod.POST})public List<User> queryUsers(@RequestParam String name){logger.info("查询用户:"+name);return  userService.getUserByName(name);}}

5. Servcie 业务以及业务实现

public interface UserService {/*** @Author gaoming * @Description 根据用户名查询用户* @Date  * @Param * @return java.util.List<com.gm.springmvcdemo.domain.User>**/List<User> getUserByName(String name);
}@Service
public class UserServiceImpl implements UserService{@AutowiredUserMapper userMapper;@Overridepublic List<User> getUserByName(String name) {return userMapper.getUserByName(name);}
}

.6. Dao层  mapper接口

@Mapper
public interface UserMapper {//查用户名List<User> getUserByName(String name);
}

7.工程结构

工程代码:https://github.com/gaoming-tai/springboot-learning-example/tree/master/springboot 

参考:Springboot 整合 Mybatis 的完整 Web 案例

 

三:Spring Boot 整合 Dubbo

TODO: 待更新

四:Spring Boot 整合 Elasticsearch

TODO: 待更新

 

 

 

 

 

 

 

 

 

 

   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

这篇关于SpringBoot窥探2--整合第三方的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1119823

相关文章

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

Java中的.close()举例详解

《Java中的.close()举例详解》.close()方法只适用于通过window.open()打开的弹出窗口,对于浏览器的主窗口,如果没有得到用户允许是不能关闭的,:本文主要介绍Java中的.... 目录当你遇到以下三种情况时,一定要记得使用 .close():用法作用举例如何判断代码中的 input

Spring Gateway动态路由实现方案

《SpringGateway动态路由实现方案》本文主要介绍了SpringGateway动态路由实现方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随... 目录前沿何为路由RouteDefinitionRouteLocator工作流程动态路由实现尾巴前沿S