现象:在尝试国际化的过程中,无法切换中英文,一直显示中文。
原因:在配置类中,配置LocaleResolver时,方法名出错
@Configuration
public class SpringBootWebConfig implements WebMvcConfigurer {
@Bean
public LocaleResolver myLocaleResolver(){
return new MyLocaleResolver();
}
}
就是MyLocaleResolver这里出错,名称必须是localeResolver,否则SpringBoot根本不会调用MyLocaleResolver()。
@Configuration
public class SpringBootWebConfig implements WebMvcConfigurer {
@Bean
public LocaleResolver localeResolver(){
return new MyLocaleResolver();
}
}
说到底还是对SpringBoot的理解不够深刻啊。。。Bean注解注册组件时,组件的默认名字就是方法名字。如果名字不是localeResolver,SpringBoot也就找不到localeResolver这样一个bean,相当于白注册了。(不确定对不对,如果有误欢迎指正)