![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Се ля ви |
|
||||
![]() Java/SOAрхитектор ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2016 Регистрация: 5.6.2004 Где: place without tim e and space Репутация: 3 Всего: 127 |
(До сих пор почему-то у нас нету отдельного форума по Spring`у, по-этому звиняйте - пишу сюда, поскольку от базовой Java это всё-таки дальше, ближе всего - к тематике Java EE)
Знаю, что XML-конфиги в Spring`е постепенно умирают (как минимум - не поддерживают generics), но пока не успел перестроиться на Groovy, пытаясь все текущие проблемы всё-таки как-то решать в рамках XML. И вот встал новый вопрос - использую Java 8 со всеми её прелестями, в частности, указателями на функции. Необходимо при помощи Spring IoC через XML-конфиг иньектнуть в private`ное поле класса указатель на функцию (в моём конкретном случае - на контруктор). Пишу:
где ключевой момент - именно строка, являющаяся указателем на конструктор класса NoremReportRow: p:generator="NoremReportRow::new" Ругань возникает следующая:
Кто-нибудь с подобным сталкивался? Есть соображения, как лечить? -------------------- |
||||
|
|||||
Се ля ви |
|
|||
![]() Java/SOAрхитектор ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2016 Регистрация: 5.6.2004 Где: place without tim e and space Репутация: 3 Всего: 127 |
В общем, пока не нашёл ничего лучше, кроме как по-старинке, как в Java 7 работать - создавать в отдельных файлах реализацию функционального интерфейса и передавать его экземпляр как именованного класса... И изучать Groovy и переходить в своих проектах с XML-конфигов на Groovy-конфиги в надежде на то, что там такой проблемы не будет...
-------------------- |
|||
|
||||
Се ля ви |
|
|||
![]() Java/SOAрхитектор ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2016 Регистрация: 5.6.2004 Где: place without tim e and space Репутация: 3 Всего: 127 |
Нашёл несколько более элегантное решение - т.к. по-умолчанию все bean`ы Spring - это singleton`ы (и этого, как правило, достаточно), можно вытаскивать их по нескольку раз.
Вот я и вытаскиваю предварительно их вначале - и инъектю то, что надо, что бы при последующих доставаниях оно там уже было. Более элегантно это можно сделать через BeanFactoryPostProcessor, но пока всё никак руки не доходят этим заняться... -------------------- |
|||
|
||||
Kircul |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 20.2.2007 Репутация: 1 Всего: 7 |
Я конечно мало чего понял из описания, но мне что-то подсказывает что для достижения цели надо использовать factory method: http://docs.spring.io/spring/docs/4.0.5.RE...-factory-method
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |