We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
最近在学习这个项目中的Spring Security,用其中的代码做了一个自己的项目,在线下用mvn package和java -jar都运行正常,使用DevOps部署到线上出现了循环依赖的异常。(为了使idea生成下面的图,加了几处@Autowired注解)
mvn package
java -jar
@Autowired
要生成userController,就需要通过自动装配方式使用userService
userController
userService
public class UserController { private final UserService userService;
其中userService需要bCryptPasswordEncoder,也是通过@Autowired方式装配
bCryptPasswordEncoder
public class UserService { @Autowired private final BCryptPasswordEncoder bCryptPasswordEncoder;
bCryptPasswordEncoder从securityConfig中由注解@Bean制造出
securityConfig
@Bean
public class SecurityConfig extends WebSecurityConfigurerAdapter { @Bean public BCryptPasswordEncoder bCryptPasswordEncoder() { return new BCryptPasswordEncoder(); }
在此之前,securityConfig需要得到userDetailsServiceImpl
userDetailsServiceImpl
public class SecurityConfig extends WebSecurityConfigurerAdapter { @Autowired UserDetailsServiceImpl userDetailsServiceImpl;
userDetailsServiceImpl又需要使用userService来调用它的find方法
find
@Service public class UserDetailsServiceImpl implements UserDetailsService { private final UserService userService; @Autowired public UserDetailsServiceImpl(UserService userService) { this.userService = userService; } @Override public UserDetails loadUserByUsername(String name) { User user = userService.find(name); return new JwtUser(user); } }
但此时的userService还没有制造好……于是有了循环依赖异常org.springframework.beans.factory.UnsatisfiedDependencyException --> UnsatisfiedDependencyException --> ... --> beans.factory.BeanCurrentlyInCreationException
org.springframework.beans.factory.UnsatisfiedDependencyException
UnsatisfiedDependencyException
beans.factory.BeanCurrentlyInCreationException
通过改写loadUserByUsername的方式,去除了UserDetailsServiceImpl对UserService的依赖,临时性地解决了这个异常。
loadUserByUsername
UserDetailsServiceImpl
UserService
The text was updated successfully, but these errors were encountered:
最近在学习这个项目中的Spring Security,用其中的代码做了一个自己的项目,在线下用mvn package和java -jar都运行正常,使用DevOps部署到线上出现了循环依赖的异常。(为了使idea生成下面的图,加了几处@Autowired注解) 要生成userController,就需要通过自动装配方式使用userService public class UserController { private final UserService userService; 其中userService需要bCryptPasswordEncoder,也是通过@Autowired方式装配 public class UserService { @Autowired private final BCryptPasswordEncoder bCryptPasswordEncoder; bCryptPasswordEncoder从securityConfig中由注解@Bean制造出 public class SecurityConfig extends WebSecurityConfigurerAdapter { @Bean public BCryptPasswordEncoder bCryptPasswordEncoder() { return new BCryptPasswordEncoder(); } 在此之前,securityConfig需要得到userDetailsServiceImpl public class SecurityConfig extends WebSecurityConfigurerAdapter { @Autowired UserDetailsServiceImpl userDetailsServiceImpl; userDetailsServiceImpl又需要使用userService来调用它的find方法 @Service public class UserDetailsServiceImpl implements UserDetailsService { private final UserService userService; @Autowired public UserDetailsServiceImpl(UserService userService) { this.userService = userService; } @Override public UserDetails loadUserByUsername(String name) { User user = userService.find(name); return new JwtUser(user); } } 但此时的userService还没有制造好……于是有了循环依赖异常org.springframework.beans.factory.UnsatisfiedDependencyException --> UnsatisfiedDependencyException --> ... --> beans.factory.BeanCurrentlyInCreationException 通过改写loadUserByUsername的方式,去除了UserDetailsServiceImpl对UserService的依赖,临时性地解决了这个异常。
不好意思 ,刚看到。我目前把登录接口暴露出去,这个问题也没有了。
Sorry, something went wrong.
No branches or pull requests
最近在学习这个项目中的Spring Security,用其中的代码做了一个自己的项目,在线下用
mvn package
和java -jar
都运行正常,使用DevOps部署到线上出现了循环依赖的异常。(为了使idea生成下面的图,加了几处@Autowired
注解)要生成
userController
,就需要通过自动装配方式使用userService
其中
userService
需要bCryptPasswordEncoder
,也是通过@Autowired
方式装配bCryptPasswordEncoder
从securityConfig
中由注解@Bean
制造出在此之前,
securityConfig
需要得到userDetailsServiceImpl
userDetailsServiceImpl
又需要使用userService
来调用它的find
方法但此时的
userService
还没有制造好……于是有了循环依赖异常org.springframework.beans.factory.UnsatisfiedDependencyException
-->UnsatisfiedDependencyException
--> ... -->beans.factory.BeanCurrentlyInCreationException
通过改写
loadUserByUsername
的方式,去除了UserDetailsServiceImpl
对UserService
的依赖,临时性地解决了这个异常。The text was updated successfully, but these errors were encountered: