|
|
|
В какой момент спринг заменяет бины на прокси?
|
|||
|---|---|---|---|
|
#18+
Как я понял процесс построения бина выглядит следующим оьбразом: 1 Конструктор 2.BeanPostProcessor beforeInitialization 3.@PostConstruct 4.BeanPostProcessor afterInitialization ну и постпроцессоров то куча. В какой момент спринг заменяет бин на прокси если это требуется? Когда я могу быть уверен, что это ещё не прокси? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2015, 18:32 |
|
||
|
В какой момент спринг заменяет бины на прокси?
|
|||
|---|---|---|---|
|
#18+
Не очень понятна постановка вопроса. Спринг нигде не заменяет бин на прокси и с фазами инициализации этот вообще никак не связано. Если АОП реализован через прокси, то при инъекциях и при получении ссылки на бин из контекста, спринг использует прокси, а не сам объект. Поэтому не понятно что значит "заменяет"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2015, 18:59 |
|
||
|
В какой момент спринг заменяет бины на прокси?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Получается, что в контексте сидят чистые бины, а при запросе к ioc контейнеру нам возвращается прокси. Причем не всегда насколько понимаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2015, 20:06 |
|
||
|
В какой момент спринг заменяет бины на прокси?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, ты ж не будешь отрицать, что инициализация синглтонов и соответственно все постпроцессоры выполняются при поднятии контекста ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2015, 22:28 |
|
||
|
В какой момент спринг заменяет бины на прокси?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, или я не понимаю глубинного смысла аоп в коре спринга ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2015, 22:54 |
|
||
|
В какой момент спринг заменяет бины на прокси?
|
|||
|---|---|---|---|
|
#18+
questioner, Я буду отрицать. Бины в контексте могут быть ленивыми и инстанцироваться при первом обращении. А вот по существу вопроса могу сказать, что все корректно реализованные проксирующие пост процессоры делают проксирование в afterInitialization, поэтому вы в beforeInitialization и в @PostConstruct имеете "чистый" бин описанного в BeanDefinition класса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2015, 23:07 |
|
||
|
В какой момент спринг заменяет бины на прокси?
|
|||
|---|---|---|---|
|
#18+
questioner, включи в log4j максимальный уровень детализации логов у spring и все увидишь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2015, 23:33 |
|
||
|
В какой момент спринг заменяет бины на прокси?
|
|||
|---|---|---|---|
|
#18+
такс....я прозрел до того, что CGLIb и dynamic proxy это лишь способы реализации AOP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2015, 00:56 |
|
||
|
В какой момент спринг заменяет бины на прокси?
|
|||
|---|---|---|---|
|
#18+
fixxerquestioner, Я буду отрицать. Бины в контексте могут быть ленивыми и инстанцироваться при первом обращении. А вот по существу вопроса могу сказать, что все корректно реализованные проксирующие пост процессоры делают проксирование в afterInitialization, поэтому вы в beforeInitialization и в @PostConstruct имеете "чистый" бин описанного в BeanDefinition класса. а бывают некорректно написанные постпроцессоры в самом спринге? есть на это какой-то контракт на то в каком постпроцессоре вернется прокси, а в каком нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2015, 16:17 |
|
||
|
В какой момент спринг заменяет бины на прокси?
|
|||
|---|---|---|---|
|
#18+
questioner, почему они некорректные? Ты спросил бин. Тебе конфигурация вернула бин. Что здесь некорректного? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2015, 17:20 |
|
||
|
В какой момент спринг заменяет бины на прокси?
|
|||
|---|---|---|---|
|
#18+
questionerесть на это какой-то контракт на то в каком постпроцессоре вернется прокси, а в каком нет? Есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2015, 10:37 |
|
||
|
В какой момент спринг заменяет бины на прокси?
|
|||
|---|---|---|---|
|
#18+
questionerКак я понял процесс построения бина выглядит следующим оьбразом: 1 Конструктор 2.BeanPostProcessor beforeInitialization 3.@PostConstruct 4.BeanPostProcessor afterInitialization ну и постпроцессоров то куча. В какой момент спринг заменяет бин на прокси если это требуется? Когда я могу быть уверен, что это ещё не прокси? тут все ответы : ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2015, 16:34 |
|
||
|
В какой момент спринг заменяет бины на прокси?
|
|||
|---|---|---|---|
|
#18+
Atum1questionerКак я понял процесс построения бина выглядит следующим оьбразом: 1 Конструктор 2.BeanPostProcessor beforeInitialization 3.@PostConstruct 4.BeanPostProcessor afterInitialization ну и постпроцессоров то куча. В какой момент спринг заменяет бин на прокси если это требуется? Когда я могу быть уверен, что это ещё не прокси? тут все ответы : ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2015, 23:17 |
|
||
|
В какой момент спринг заменяет бины на прокси?
|
|||
|---|---|---|---|
|
#18+
questioner Это он сам руками вернул в afterInitialization проксю. Я кстати так и не понял, что ему мешало это сделать в berforeInitialization. если бы он возвращал в beforeInitialization проксю, то это было бы уже другой класс, на другом классе стоят другие аннотации, там другие переменные и тд и тп. Все последующие бинпостпроцессоры работали бы уже с этой проксей, а это совершенно другой обьект, другого класса. Получается, вообще на этапе before возвращать другой обьект - это крайне плохая идея. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2015, 00:28 |
|
||
|
В какой момент спринг заменяет бины на прокси?
|
|||
|---|---|---|---|
|
#18+
chabapokquestionerЭто он сам руками вернул в afterInitialization проксю. Я кстати так и не понял, что ему мешало это сделать в berforeInitialization. если бы он возвращал в beforeInitialization проксю, то это было бы уже другой класс, на другом классе стоят другие аннотации, там другие переменные и тд и тп. Все последующие бинпостпроцессоры работали бы уже с этой проксей, а это совершенно другой обьект, другого класса. Получается, вообще на этапе before возвращать другой обьект - это крайне плохая идея. и чего получается? всегда можно быть уверенным, что в beforeInitialization не прокся, а натуральный бин, а дальше нефига не понятно ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2015, 01:26 |
|
||
|
В какой момент спринг заменяет бины на прокси?
|
|||
|---|---|---|---|
|
#18+
questionerвсегда можно быть уверенным, что в beforeInitialization не прокся, а натуральный бин, Да. Техническая возможность это сломать есть. Из бинпостпроцессора возвратить другой обьект - и готово. И оно даже не всегда сломается(например, если все идет через сеттеры, то ничего не поломается). Но можно исходить из того, что никто так не делал, и это не сломано. questioner а дальше нефига не понятно ? все понятно. Дальше все прокси, которые хотят навеситься, навешиваются неясно в каком порядке. К счастью, обычно порядок неважен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2015, 11:16 |
|
||
|
В какой момент спринг заменяет бины на прокси?
|
|||
|---|---|---|---|
|
#18+
questioner, Я вот одного не пойму. Если АОП реализовано через инструментацию байт-кода без прокси. То по-вашему всё будет совсем иначе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2015, 11:30 |
|
||
|
В какой момент спринг заменяет бины на прокси?
|
|||
|---|---|---|---|
|
#18+
Blazkowiczquestioner, Я вот одного не пойму. Если АОП реализовано через инструментацию байт-кода без прокси. То по-вашему всё будет совсем иначе? я просто пытался понять как гипотетически можно решить проблему, что при вызове метода объекта из того же самого объекта быть уверенным, что функциональность не пропадёт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2015, 13:14 |
|
||
|
В какой момент спринг заменяет бины на прокси?
|
|||
|---|---|---|---|
|
#18+
questioner, использовать интерфейс ?! не? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2015, 15:30 |
|
||
|
В какой момент спринг заменяет бины на прокси?
|
|||
|---|---|---|---|
|
#18+
Atum1questioner, использовать интерфейс ?! не? не ферштейн к чему это ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2015, 15:35 |
|
||
|
В какой момент спринг заменяет бины на прокси?
|
|||
|---|---|---|---|
|
#18+
questionerя просто пытался понять как гипотетически можно решить проблему, что при вызове метода объекта из того же самого объекта быть уверенным, что функциональность не пропадёт. Если судить по видео - то гарантий просто нет .... ибо можно через аспекты вызывать все что хочешь ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2015, 16:05 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2124677]: |
0ms |
get settings: |
11ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 252ms |
| total: | 524ms |

| 0 / 0 |
