使用IDEA开发SpringBoot工程的问题合集

目录

1.背景

2.IDEA或工程问题合集

1)创建的子Module不是java工程

2)IDEA中删除的子工程,在右侧Maven导航栏中仍显示

3)SpringBoot工程打成jar包后运行,提示没有主清单属性

4)maven编译时提示level 5

3.Mybatis-plus问题合集

1)运行时报类似错误:没有xxx表

2)使用注解@TableId不生效

3)mybaits-plus自动生成代码时报错

4)使用mybatis-plus自动生成代码时,只生成package,没有生成出来java类

5)使用page功能未分页

4.SpringCloud问题合集

1)使用Feign调用服务的方法时,报错:Load balancer does not have available server for client

2)使用Feign调用服务的方式时,时好时坏


1.背景

将SpringBoot工程开发中遇到的一些问题做一个合集版,并持续更新,感谢那些愿意分享的网友们~~

2.IDEA或工程问题合集

1)创建的子Module不是java工程

问题:使用IDEA创建子Module时,偶尔会出现Module名称上没有相应的标记,或者java文件夹上没有蓝色图标,或者创建的.java文件没有“J”这样的图标展示,或者resources中的.yml也没有展示出正确的图标。

解决方法:左侧Projects导航栏上,选择文件,右键 -》Mark Directory As,将没有正确展示出图标的文件选择为对应的资源即可。

参考:Java新建Maven子模块,IDEA项目结构不正确_Joker的博客-CSDN博客

2)IDEA中删除的子工程,在右侧Maven导航栏中仍显示

问题:如标题的描述

解决方法:File -》Invalidate Caches/ Restart...

参考:IDEA中删除项目中的Module后,maven projects仍有依赖_凉掰开水的博客-CSDN博客

3)SpringBoot工程打成jar包后运行,提示没有主清单属性

问题:如标题的描述

解决方法:解决SpringBoot打包成jar后运行提示没有主清单属性_zxf_noimp的博客-CSDN博客

4)maven编译时提示level 5

参考:IDEA解决Maven工程的Language Level默认为5的问题_hon_vin的博客-CSDN博客

3.Mybatis-plus问题合集

1)运行时报类似错误:没有xxx表

原因:由于数据库中的表名与Java代码的Entity中的类名不一致。

解决方法:在entity添加注解@TableName("t_table")。t_table为数据库中的表名。

2)使用注解@TableId不生效

原因:自己把Long写成了long

参考:mybatis-plus使用中的常见问题_我是个少年的博客-CSDN博客

3)mybaits-plus自动生成代码时报错

参考:mybatis-plus 错误java.lang.NoClassDefFoundError: org/apache/velocity/context/Context_Murphy的博客-CSDN博客

4)使用mybatis-plus自动生成代码时,只生成package,没有生成出来java类

原因:没有在生成代码对应的数据库中配置对应的表

5)使用page功能未分页

原因:自己粗心,少写了配置类

import com.baomidou.mybatisplus.core.injector.ISqlInjector;
import com.baomidou.mybatisplus.extension.injector.LogicSqlInjector;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


@Configuration
@MapperScan("com.java.service.mapper")
public class TestServiceConfig(){
    @Bean
    public ISqlInjector iSqlInjector(){ return new LogicSqlInjector();}

    @Bean
    public PaginationInterceptor paginationInterceptor() { return new PaginationInterceptor();}
}

调用:

@Autowired
TestService testService;


@GetMapping("getPage")
public CommonResult getPage(@RequestParam("page") long page, @RequestParam("size") long size){
    Page<TestEntity> pageTest = new Page<>(page, size);
    testService.page(pageTest, null);
    return CommonResult.ok().data("total", pageTest.getTotal()).data("items", pageTest.getRecords());
}

4.SpringCloud问题合集

1)使用Feign调用服务的方法时,报错:Load balancer does not have available server for client

可能的原因和方法,参考:

springcloud feign报错:Load balancer does not have available server for client - 张震-Miles - 博客园

【Java异常】com.netflix.client.ClientException: Load balancer does not have available server for client_No8g攻城狮的博客-CSDN博客

访问接口错误,com.netflix.client.ClientException: Load balancer does not have available server for client: panfeng-item-service - 陶攀峰 - 博客园

除以上情况外,我在这里的遇到的是,使用公司的sdk中和springcloud版本不匹配,并且将@FeignClients(value = "")改为了@FeignClients(name = "")

2)使用Feign调用服务的方式时,时好时坏

这里遇到的不是路径写错,而是调用的producer端的方法上少了@PathVairable参数,证明Feign在调用producer方法时一定要从method、路径、函数名以及函数参数都要保持一致

参考:

记一次 feign.FeignException: status 404 reading xxx 问题解决_沙滩的流沙520的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值