Спасибо, ребята, за ваши ответы.
Амит Бера, я создаю объект AlbumModel, просто вызывая его конструктор:
package net.local.mis.phog.controller;
@Controller
@Transactional
public class AlbumController {
[...]
@Autowired
private JenreDao jenreDao;
@Autowired
private MessageSource messageSource;
[...]
@RequestMapping(value={"/album"},method=RequestMethod.GET)
public String albumShowHandler(Model model,
HttpServletRequest request,
@RequestParam(value="jenreIdSelected") Long jenreIdSelected,
@CookieValue(value="thumbnailOrder",defaultValue="ordDefault") String thumbnailOrder,
[...]) {
[...]
ThumbnailOrderAux thumbnailOrderAux = new ThumbnailOrderAux(thumbnailOrder);
JenreAux jenreAux = new JenreAux(jenreDao.getLstJenreModel(null,jenreIdSelected),jenreIdSelected);
AlbumModel albumModel = new AlbumModel(jenreAux,thumbnailOrderAux);
[...]
model.addAttribute("albumModel",albumModel);
return "album";
}
[...]
}
А вот код конструкторов AdminModel:
package net.local.mis.phog.model;
@Component
public class AlbumModel {
private JenreAux jenreAux;
private ThumbnailAux thumbnailAux;
[...]
public AlbumModel() {
super();
}
public AlbumModel(JenreAux jenreAux,ThumbnailOrderAux thumbnailOrderAux) {
super();
this.jenreAux = jenreAux;
this.thumbnailOrderAux = thumbnailOrderAux;
}
[...]
}
Назим, я добавил аннотацию @Component к классу AlbumModel в надежде, что bean-компонент MessageSource будет внедрен. К сожалению это не было.
Я мог бы передать MessageSource в качестве аргумента, и он работает, даже если я не аннотирую конструктор @Autowired. Если я правильно понимаю, бин MessageSource внедряется в AlbumController, потому что он управляется Spring, и не вводится в AlbumModel, потому что он не управляется Spring. Правильно? Если да, есть ли способ заставить Spring управлять объектом AlbumModel?