当前位置:首页 » 《关于电脑》 » 正文

Java Idea ‘org.springframework.web.client.RestTemplate‘ that could not be found报错及解决

28 人参与  2024年03月27日 10:30  分类 : 《关于电脑》  评论

点击全文阅读


Java Idea 'org.springframework.web.client.RestTemplate' that could not be found报错及解决

1. 报错2. 解决3. 原理(@SpringBootApplication、@ComponentScan、@ServletComponentScan 和 @MapperScan 的区别)参考

1. 报错

在这里插入图片描述
@ServletComponentScan 与 @MapperScan同时用,可能有冲突

2. 解决

1. 1.2之后 Springboot不再自带RestTemplate 不用自动注入,可以重新创建一个

在这里插入图片描述

2. 主程序上添加:@SpringBootApplication + @ServletComponentScan + @Mapper
或者 @SpringBootApplication + @ServletComponentScan + @MapperScanner

3. 原理(@SpringBootApplication、@ComponentScan、@ServletComponentScan 和 @MapperScan 的区别)

@SpringBootApplication、@ComponentScan、@ServletComponentScan 和 @MapperScan 的区别

@SpringBootApplication这个注解是springboot启动类上的一个注解,是一个组合注解,主要由三个子注解组成: @SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan,它的主要作用就是标记说明这个类是springboot的主配置类,springboot可以运行这个类里面的main()方法来启动程序。

SpringBoot在没配置@ComponentScan的情况下,默认只扫描和主类处于同包及其子包下的beans(并把bean【service mapper resposioty controller 】自动注入容器)。

@ComponentScan注解 告诉Spring从哪里找到bean Spring会在应用主程序所在的包及其子包下进行全局扫描,把对应的bean注入到容器中,这里面的bean包括service mapper resposioty controller 所以在springboot程序中如果有@mapper注解的话 就不用再加mapperscan注解,springboot注解自带componentscan,会扫描到。

@MapperScan注解,@Mapper注解可以在编译之后生产对应的接口实现类,如果要每个接口都编程实现类,需要在每个接口上加上Mapper注解,比较麻烦,解决这个问题用的是@MapperScan注解,@MapperScan注解后面可以加value指定要扫描的包,即可实现mapper的注入。

可以认为 @ComponentScan扫描包含了 @Mapper,每个Mapper类上有@Mapper注解的话,就可以省略@MapperScan;

@ServletComponentScan
Servlet 三大组件 Servlet、Filter、Listener 在传统项目中需要在 web.xml 中进行相应的配置。Servlet 3.0 开始在 javax.servlet.annotation 包下提供 3 个对应的 @WebServlet、@WebFilter、@WebListener 注解来简化操作。

@WebServlet、@WebFilter、@WebListener 写在对应的 Servlet、Filter、Listener 类上作为标识,从而不需要在 web.xml 中进行配置了。

Spring Boot 应用中这三个注解(@WebServlet、@WebFilter、@WebListener)默认是不被扫描的,需要在项目启动类上添加 @ServletComponentScan 注解, 表示对 Servlet 组件扫描。

参考

https://blog.csdn.net/goodjava2007/article/details/129954166https://blog.csdn.net/qq_43842093/article/details/121689381https://blog.csdn.net/sc2_unlimited/article/details/113829837https://blog.csdn.net/wangmx1993328/article/details/103362873https://blog.csdn.net/weixin_55772633/article/details/131870673

点击全文阅读


本文链接:http://zhangshiyu.com/post/86395.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1