返回顶部
首页 > 资讯 > 精选 >Feign+mybatisplus搭建项目遇到的坑如何解决
  • 794
分享到

Feign+mybatisplus搭建项目遇到的坑如何解决

2023-07-05 19:07:44 794人浏览 泡泡鱼
摘要

这篇文章主要讲解了“Feign+mybatisplus搭建项目遇到的坑如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Feign+mybatisplus搭建项目遇到的坑如何解决”吧!出

这篇文章主要讲解了“Feign+mybatisplus搭建项目遇到的坑如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Feign+mybatisplus搭建项目遇到的坑如何解决”吧!

出现的错误

Failed to bind properties under ‘spring.datasource’ to javax.sql.DataSource:

@org.springframework.beans.factory.annotation.Autowired(required=true)等

原因(简洁说明)

使用代码生成器的service层需要继承extends IService,这是一个坑,它不可以在接口工程中使用,实体类可以

如果想要使用mp的功能,就需要:

—— > 1.接口工程中创建无extends IService的接口 A

—— > 2.provider工程中放入代码生成的service层 接口B

—— > 3.provider工程的实现类需要 implements A,B

代码

接口工程

import com.study.seckill.entity.User;import org.springframework.cloud.openfeign.FeignClient;import org.springframework.stereotype.Service;import org.springframework.WEB.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import java.util.List;@Service@FeignClient(value = "seckill-provider-localhost")public interface IUserService  {    @RequestMapping(value = "/users",method = RequestMethod.GET)    public List<User> quallAll();}

接口工程依赖

<dependencies>    <dependency>      <groupId>org.springframework.cloud</groupId>      <artifactId>spring-cloud-starter-openfeign</artifactId>    </dependency>    <dependency>      <groupId>com.baomidou</groupId>      <artifactId>mybatis-plus-generate</artifactId>      <version>2.2.0</version>    </dependency>    <dependency>      <groupId>com.baomidou</groupId>      <artifactId>mybatis-plus-extension</artifactId>      <version>3.1.1</version>    </dependency>    <dependency>      <groupId>org.projectlombok</groupId>      <artifactId>lombok</artifactId>      <optional>true</optional>    </dependency>  </dependencies>

&ndash;注意不要有druid数据源依赖,可能会报sqlSession等异常&ndash;

consumer工程代码

controller

@RestControllerpublic class UserConsumerController {    @Autowired    private IUserService iUserService;    @GetMapping(value = "/users")    public  String queryByName(){        List<User> users = iUserService.quallAll();        return users.toString();    }    }

启动类

@EnableFeignClients(basePackages = {"com.study.seckill"})@SpringBootApplication@EnableEurekaClientpublic class Seckill_Consumer_8080 {    public static void main(String[] args) {        SpringApplication.run(Seckill_Consumer_8080.class, args);    }}

consumer依赖

 <dependencies>    <dependency>      <groupId>com.study</groupId>      <artifactId>seckill-api</artifactId>      <version>0.0.1-SNAPSHOT</version>    </dependency>    <dependency>      <groupId>org.springframework.boot</groupId>      <artifactId>spring-boot-starter-web</artifactId>    </dependency>        <dependency>      <groupId>org.springframework.cloud</groupId>      <artifactId>spring-cloud-starter-ribbon</artifactId>      <version>1.4.6.RELEASE</version>    </dependency>    <dependency>      <groupId>org.springframework.cloud</groupId>      <artifactId>spring-cloud-starter-eureka</artifactId>      <version>1.4.6.RELEASE</version>    </dependency>    <dependency>      <groupId>org.springframework.cloud</groupId>      <artifactId>spring-cloud-starter-openfeign</artifactId>    </dependency>    <dependency>      <groupId>org.springframework.cloud</groupId>      <artifactId>spring-cloud-starter-hystrix</artifactId>    </dependency>    <dependency>      <groupId>org.springframework.cloud</groupId>      <artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>    </dependency>  </dependencies>

consumer的application.yml

server:  port: 8080#配置eurekaeureka:  client:    reGISter-with-eureka: true    service-url:      defaultZone: Http://localhost:7001/eureka/  instance:    instance-id: seckill-consumer-8080    prefer-ip-address: truespring:  application:    name: seckill-consumer-8080#开启降级feign:#  hystrix:#    enabled: true#feign客户端负载均衡策略#seckill-provider-localhost:#  ribbon:###   NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule #配置规则 随机#    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RoundRobinRule #配置规则 轮询##   NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RetryRule #配置规则 重试##   NFLoadBalancerRuleClassName: com.netflix.loadbalancer.WeightedResponseTimeRule #配置规则 响应时间权重##   NFLoadBalancerRuleClassName: com.netflix.loadbalancer.BestAvailableRule #配置规则 最空闲连接策略#    ConnectTimeout: 5000 #请求连接超时时间#    ReadTimeout: 10000 #请求处理的超时时间#    OkToRetryOnAllOperations: true #对所有请求都进行重试#    MaxAutoRetriesNextServer: 2 #切换实例的重试次数#    MaxAutoRetries: 2 #对当前实例的重试次数

prodvider工程

如图:UserServiceImpl 需要实现这个UserService和IUserService

Feign+mybatisplus搭建项目遇到的坑如何解决

import com.baomidou.mybatisplus.extension.service.IService;import com.study.seckill.entity.User;public interface UserService  extends IService<User> {}
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;import com.study.seckill.entity.User;import com.study.seckill.mapper.UserMapper;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;import com.study.seckill.service.IUserService;import com.study.seckill.service.UserService;import org.springframework.stereotype.Service;import java.util.List;@Servicepublic class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IUserService, UserService {    @Override    public List<User> quallAll() {        QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();        return baseMapper.selectList(null);    }}

provider的application.properties

mybatis-plus.type-aliases-package=com.study.seckill.entitymybatis-plus.global.config.refresh-mapper=truemybatis-plus.mapper-locations=classpath:/mapper*.xml

provider依赖

<dependencies>    <dependency>      <groupId>com.study</groupId>      <artifactId>seckill-api</artifactId>      <version>0.0.1-SNAPSHOT</version>    </dependency>    <dependency>      <groupId>org.springframework.boot</groupId>      <artifactId>spring-boot-starter-jdbc</artifactId>    </dependency>    <dependency>      <groupId>org.springframework.boot</groupId>      <artifactId>spring-boot-starter-web</artifactId>    </dependency>    <dependency>      <groupId>org.springframework.cloud</groupId>      <artifactId>spring-cloud-starter-eureka</artifactId>    </dependency>    <dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-actuator</artifactId>    </dependency>    <dependency>      <groupId>mysql</groupId>      <artifactId>Mysql-connector-java</artifactId>    </dependency>    <dependency>      <groupId>com.baomidou</groupId>      <artifactId>mybatis-plus-boot-starter</artifactId>      <version>3.1.1</version>    </dependency>    <dependency>      <groupId>com.baomidou</groupId>      <artifactId>mybatis-plus</artifactId>      <version>3.1.1</version>    </dependency>    <!--用来支持AR-->    <dependency>      <groupId>com.baomidou</groupId>      <artifactId>mybatis-plus-generate</artifactId>      <version>2.2.0</version>    </dependency>    <dependency>      <groupId>com.baomidou</groupId>      <artifactId>mybatis-plus-extension</artifactId>      <version>3.1.1</version>    </dependency>    <!--自动生成模板-->    <dependency>      <groupId>org.freemarker</groupId>      <artifactId>freemarker</artifactId>      <version>2.3.29</version>    </dependency>    <!--连接池-->    <dependency>      <groupId>com.alibaba</groupId>      <artifactId>druid</artifactId>      <version>1.1.12</version>    </dependency>    <dependency>      <groupId>org.projectlombok</groupId>      <artifactId>lombok</artifactId>      <optional>true</optional>    </dependency>    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>    </dependency>    <dependency>      <groupId>log4j</groupId>      <artifactId>log4j</artifactId>    </dependency>    <dependency>      <groupId>ch.qos.logback</groupId>      <artifactId>logback-core</artifactId>    </dependency>    <dependency>      <groupId>org.springframework.boot</groupId>      <artifactId>spring-boot-test</artifactId>    </dependency>    <dependency>      <groupId>org.springframework.boot</groupId>      <artifactId>spring-boot-starter-test</artifactId>      <scope>test</scope>      <exclusions>        <exclusion>          <groupId>org.junit.vintage</groupId>          <artifactId>junit-vintage-engine</artifactId>        </exclusion>      </exclusions>    </dependency>  </dependencies>  <build>    <!-- 添加资源 -->    <resources>      <resource>        <directory>src/main/resources</directory>        <!-- src/main/resources下的指定资源放行 -->        <includes>          <include>***.yml</include>          <include>***.xml</include>        </includes>        <filtering>false</filtering>      </resource>    </resources>  </build></project>

provider工程需要配置druid数据源,不然会报异常,这里不再赘述。

感谢各位的阅读,以上就是“Feign+mybatisplus搭建项目遇到的坑如何解决”的内容了,经过本文的学习后,相信大家对Feign+mybatisplus搭建项目遇到的坑如何解决这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Feign+mybatisplus搭建项目遇到的坑如何解决

本文链接: https://lsjlt.com/news/354656.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Feign+mybatisplus搭建项目遇到的坑如何解决
    这篇文章主要讲解了“Feign+mybatisplus搭建项目遇到的坑如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Feign+mybatisplus搭建项目遇到的坑如何解决”吧!出...
    99+
    2023-07-05
  • MyBatis+MyBatisPlus中遇到的坑怎么解决
    这篇文章主要介绍了MyBatis+MyBatisPlus中遇到的坑怎么解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MyBatis+MyBatisPlus中遇到的坑怎么解决文章都会有所收获,下面我们一起来看...
    99+
    2023-07-05
  • SpringCloud项目中Feign组件添加请求头所遇到的坑及解决
    目录前言分析解决原因找到了总结前言 在spring cloud的项目中用到了feign组件,简单配置过后即可完成请求的调用。 又因为有向请求添加Header头的需求,查阅了官方示例后...
    99+
    2023-05-18
    SpringCloud中Feign组件 Feign组件添加请求头 Feign添加请求头
  • spring cloud oauth2 feign遇到的坑怎么解决
    本篇内容主要讲解“spring cloud oauth2 feign遇到的坑怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“spring cloud...
    99+
    2023-06-29
  • vue-cli脚手架创建项目遇到的坑及解决
    目录vue-cli脚手架创建项目遇到的坑cli版本太低Cannot find module 'webpack/lib/RuleSet’错误vue脚手架流程第一步:...
    99+
    2023-01-11
    vue-cli脚手架 脚手架创建项目 脚手架创建项目的坑
  • vue-cli项目中遇到的eslint的坑及解决
    目录vue-cli遇到的eslint的坑报错关于eslint规则说明vue-cli遇到的eslint的坑 报错 Do not access Object.prototype meth...
    99+
    2024-04-02
  • vue-cli项目中遇到的eslint坑怎么解决
    今天小编给大家分享一下vue-cli项目中遇到的eslint坑怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。vue-...
    99+
    2023-06-30
  • 使用mybatisPlus生成oracle自增序列遇到的坑如何解决
    今天小编给大家分享一下使用mybatisPlus生成oracle自增序列遇到的坑如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了...
    99+
    2023-07-05
  • vue项目配置element-ui容易遇到的坑及解决
    目录vue配置element-ui遇到的坑步骤1.npm安装步骤2步骤3.测试vue element-ui需要注意的问题vue配置element-ui遇到的坑 注意:本文章参照ele...
    99+
    2024-04-02
  • SpringCloud feign对象传参和普通传参及遇到的坑如何解决
    这篇文章主要介绍“SpringCloud feign对象传参和普通传参及遇到的坑如何解决”,在日常操作中,相信很多人在SpringCloud feign对象传参和普通传参及遇到的坑如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的...
    99+
    2023-06-29
  • 鸿蒙HarmonyOS环境搭建遇到的坑及解决方案
    鸿蒙HarmonyOS环境搭建遇到的坑及解决方案,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1) Linux环境搭建目前harmony的源码暂时不支持在Win...
    99+
    2023-06-15
  • Golang中JSON遇到的坑如何解决
    本篇内容主要讲解“Golang中JSON遇到的坑如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Golang中JSON遇到的坑如何解决”吧!空指针会被解析成字符串"null&qu...
    99+
    2023-07-05
  • springboot连接sqllite遇到的坑如何解决
    本篇内容主要讲解“springboot连接sqllite遇到的坑如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“springboot连接sqllite遇到的坑如何解决”吧!springbo...
    99+
    2023-07-02
  • 如何解决将three项目迁移至vue项目遇到的问题
    这篇文章主要介绍了如何解决将three项目迁移至vue项目遇到的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。通过npm下载的three依赖无法正常使用在原项目中使用的是...
    99+
    2023-06-28
  • 解决spring boot创建项目遇到配置的问题
    目录spring boot创建项目遇到配置的问题如下图所示需要修改sping运行时读取的地址SpringBoot项目创建及一些常见问题处理1.先创建一个maven项目,确保可以正常使...
    99+
    2024-04-02
  • react项目引入antd框架方式及遇到的坑怎么解决
    这篇文章主要介绍了react项目引入antd框架方式及遇到的坑怎么解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇react项目引入antd框架方式及遇到的坑怎么解决文章都会有所收获,下面我们一起来看看吧。r...
    99+
    2023-07-05
  • 如何解决vue项目部署上线遇到的问题
    这篇文章将为大家详细讲解有关如何解决vue项目部署上线遇到的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。流程     1.服...
    99+
    2024-04-02
  • 如何解决AngualrJs清除定时器遇到的坑
    这篇文章给大家分享的是有关如何解决AngualrJs清除定时器遇到的坑的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。angualrJs清除定时器爬坑之路:发现一个奇怪问题,放在自...
    99+
    2024-04-02
  • 如何解决springboot2.x引入feign踩的坑
    小编给大家分享一下如何解决springboot2.x引入feign踩的坑,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!springboot2.x引入feign踩的...
    99+
    2023-06-26
  • 在python项目中使用2sys.argv时遇到的问题如何解决
    这篇文章主要介绍了在python项目中使用2sys.argv时遇到的问题如何解决,此处通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下:python可以做什么Python是一种编程语言,内置了许多...
    99+
    2023-06-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作