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变量,而不是再次调用相同的方法。