我得到错误,而运行这个@bean


org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'localeResolver' defined in com.restservices.NewSpringbootbuildingblocksApplication: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.servlet.LocaleResolver]: Factory method 'localeResolver' threw exception; nested exception is java.lang.StackOverflowError
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) ~[spring-beans-5.3.23.jar:5.3.23]

我的代码正在运行时,我下面提到的代码注释

@Bean
public LocaleResolver localeResolver() {
AcceptHeaderLocaleResolver localeResolver = new AcceptHeaderLocaleResolver();
localeResolver.setDefaultLocale(Locale.US);
return localeResolver();
}

您可以再次检查您的错误。抛出以下异常。

threw exception; nested exception is java.lang.StackOverflowError

再次检查你的代码,你正在递归地调用方法。

@Bean
public LocaleResolver localeResolver() {
AcceptHeaderLocaleResolver localeResolver = new AcceptHeaderLocaleResolver();
localeResolver.setDefaultLocale(Locale.US);
return localeResolver(); <-- Calling same method again.
}

我认为你想返回localeResolver变量,而不是再次调用相同的方法。

相关内容

最新更新