Контекст Приложения Spring, доступный в конструкторе

Можно снабдить префиксом методы и участников с одинарным или двойным подчеркиванием. Одинарное подчеркивание подразумевает, "не используйте меня, я, как предполагается, используюсь только этим классом", и двойное подчеркивание дает компилятору Python команду искажать метод/имя элемента с именем класса; пока класс и его подклассы не имеют того же имени, методы/участников можно считать "частными".

Однако решение Ваших требований до сих пор состоит в том, чтобы записать четкую документацию. Если Вы не хотите, чтобы Ваши пользователи назвали методы в неправильном порядке, то говорите так в документации.

, В конце концов, даже рядовые C++ не то, что частные. Например, думайте старый прием:

#define private public
#include <module>
5
задан Brian Tompsett - 汤莱恩 1 June 2015 в 22:05
поделиться

2 ответа

В bean-компонентах, инстанцируемых Spring, вместо инициализации в конструкторе инициализируйте его в специальном методе , помеченном как «init-method» для Spring.

Эффект примерно такой же, как при инициализации в конструкторе, но вы используете правильный жизненный цикл Spring.

5
ответ дан 14 December 2019 в 04:42
поделиться

Вы можете сделать контекст доступным из конструктора, использующего аспектно-ориентированное программирование. Spring имеет специальную поддержку для этого - @Configurable (preConstruction = true) .

Не стесняйтесь узнать больше об этом в справочнике Spring - 6.8.1. Использование AspectJ для внедрения объектов домена с помощью Spring

3
ответ дан 14 December 2019 в 04:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: