Requested bean is currently in creation: Is there an unresolvable circular r

  今天在用springboot打包成war包,准备部署到tomcat时,发现采用maven的package命令时,老是失败,报错Requested bean is currently in creation: Is there an unresolvable circular r,经过一番操作后,解决了问题。原因出在存在循环注入的问题,现在贴代码说明情况

  我的项目是采用springboot、spring security,mybatis框架做成的,我在srevice层有两个实现类,分别是StuServiceImpl和FileServiceImpl,下面贴出关键代码部分

@Service
@Slf4j
public class StuServiceImp implements StuService{

    @Resource
    private StuMapper stuMapper;//自己写的mapper

    @Resource
    private UserDao userDao;//框架自带的mapper

    @Resource
    private RoleDao roleDao;

    @Resource
    private BCryptPasswordEncoder passwordEncoder;//该类是spring security框架用来给密码加密用的

 

 

@Service
public class FileServiceImpl implements FileService {

   private static final Logger log = LoggerFactory.getLogger("adminLogger");

   @Value("${files.path}")
   private String filesPath;

   @Resource
   private FileInfoDao fileInfoDao;

   @Resource
   private StuMapper stuMapper;

   @Resource
   private CardMapper cardMapper;

   @Resource
   private UserDao userDao;

   @Resource
   private RoleDao roleDao;

   @Resource
   private BCryptPasswordEncoder passwordEncoder;

 

从以上可以看到,这两个实现类都注入了BCryptPasswordEncoder,导致了打包失败

解决办法是加@Lazy,如下图所示:

@Resource
@Lazy
private BCryptPasswordEncoder passwordEncoder;

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值