Я написал свой собственный модуль форматирования и попытался автоматически подключить к нему службу, но получаю NullPointerException
.
Форматер:
@Component
public class DepartmentFormatter implements Formatter<Department> {
@Autowired
private DepartmentService departmentService;
@Override
public String print(Department department, Locale locale) {
return department.getName();
}
@Override
public Department parse(String string, Locale locale) throws ParseException {
return departmentService.getByName(string); // NPE thrown here
}
}
Служба:
@Service
@Transactional
public class DepartmentServiceImpl implements DepartmentService {
@Autowired
private DepartmentDAO departmentDAO;
/* ... */
}
В моем файле spring-servlet.xml у меня есть
<context:annotation-config />
<context:component-scan base-package="net.kurochenko.sampleapp" />
Регистрация форматеров :
public class FormattingFactory extends FormattingConversionServiceFactoryBean {
@Override
public void installFormatters(FormatterRegistry registry) {
super.installFormatters(registry);
registry.addFormatterForFieldAnnotation(new AuthorAnnotationFormatterFactory());
registry.addFormatterForFieldAnnotation(new DepartmentAnnotationFormatterFactory());
}
}
FormattingFactory bean
<mvc:annotation-driven conversion-service="formattingFactory" />
Все вышеперечисленные классы находятся в пакете net.kurochenko.sampleapp.
Служба автоматического подключения @Controller
работает нормально.Я искал решение в Google и попробовал некоторые из них, но исключение все еще остается.Что я делаю неправильно?Спасибо за советы.