Java Error creating bean with name:Bean with name has been injected into other beans in its raw问题解决

问题描述:

Caused by: org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'userServiceImpl': Bean with name 'userServiceImpl' has been injected into other beans [userLogServiceImpl] in its raw version as part of a circular reference, but has eventually been wrapped. This means that said other beans do not use the final version of the bean. This is often the result of over-eager type matching - consider using 'getBeanNamesOfType' with the 'allowEagerInit' flag turned off, for example.

问题分析:

1、两个Service相互装配对方的实例,出现循环引用的情况,导致报错。

package com.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UserService {
    @Autowired
    private UserLogService userLogService;
}
package com.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UserLogService {
    @Autowired
    private UserService userService;
}

解决办法:

去掉其中一个Service的@Autowired注解和service变量,解除相互嵌套引用即可。

上一篇:ElementUI的表格中如何用switch开关表示状态?


下一篇:jquery源码 DOM加载