当前位置:   article > 正文

springboot 启动失败Field redisClientTemplate in xxx required a bean of type 'xxx' that could not be foun_field redissonclient in com.giantbd.huijingtong.co

field redissonclient in com.giantbd.huijingtong.controller.customcommoncontr
启动项目的时候提示如下错误,根据提示意思是在HelloController中没有找到RedisClientTemplate的定义。

Description:

Field redisClientTemplate in com.example.demo.HelloController required a bean of type 'com.sinosoft.channel.redis.RedisClientTemplate' that could not be found.


Action:

Consider defining a bean of type 'com.sinosoft.channel.redis.RedisClientTemplate' in your configuration.


Process finished with exit code 1
正常情况下加上@Component注解的类会自动被Spring扫描到生成Bean注册到spring容器中,既然他说没找到,也就是该注解被没有被spring识别,问题的核心关键就在application类的注解SpringBootApplication上 

@Component
public class RedisClientTemplate {


这个注解其实相当于下面这一堆注解的效果,其中一个注解就是@Component,在默认情况下只能扫描与控制器在同一个包下以及其子包下的@Component注解,以及能将指定注解的类自动注册为Bean的@Service@Controller和@ Repository,至此明白问题所在,之前我将接口与对应实现类放在了与控制器所在包的同一级目录下,这样的注解自然是无法被识别的 
而目前的项目路径结构如下:

解决方案有两种
1、将接口和实现类放在与 application启动类同一个目录或子目录下。
2、application启动类上增加标签 @ComponentScan(basePackages = {"com.sinosoft.channel.redis"})  ,手动指定   application类需要加载哪些路径下的注解。


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/125808
推荐阅读
相关标签
  

闽ICP备14008679号