Я объявил себя компонентSpring не удалось загрузить ResourceBundle
@Component
public class I18nManagerImpl implements I18nManager{
@Autowired
MessageSource messageSource;
public ResourceBundle getResourceBundle() {
Locale fromConfig = Locale.UK;
//Resolve Locale from a configuration service
return new MessageSourceResourceBundle(messageSource, fromConfig); //replace code in my question
}
@Override
public String message(String locale) {
ResourceBundle beanResourceBundle = getResourceBundle();
String invalidEmail = beanResourceBundle.getString("invalidEmail");
return invalidEmail;
}
}
И messageSource
определение компонента в applicationContext.xml
İŞ
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames" value="messages"/>
</bean>
Но сообщение не может быть найден, и если смотреть с отладчиком ResourceBundle возвращаемые ключами getResourceBundle, являются нулевыми, а содержимого нет.
Что не так с предоставленным кодом? Вот изображение структуры проекта:
Вы можете попробовать с редактированием: <боб ID = "messageSource" класс = "org.springframework.context.support.ResourceBundleMessageSource"> <имя свойства = "basenames" значение = "путь к классам *: сообщения/сообщения"/> – Arpit
Почему вы используете это? Почему бы просто не использовать поддерживаемую по умолчанию поддержку? Что особенного, что вам нужен собственный пользовательский «I18nManagerImpl» –
@Arpit не работает, тот же результат. – Heisenberg