Spring MVC Универсальный контроллер - PullRequest
0 голосов
/ 09 марта 2012

В моем @Controller есть bean-объект области действия сеанса: он называется SessionPreferences , и я надеюсь, что его имя объяснит, что он делает: -)

Практически любой из моих контроллеров используетоб этом, поэтому я легко внедряю его в каждый контроллер через @ Autowired.

Я хочу пойти глубже, так .... как я могу избежать этого дублирования?Могу ли я иметь в своем приложении «родительский» контроллер для хранения всех общих ссылок на сервисы, другие компоненты и т. Д.?

1 Ответ

1 голос
/ 09 марта 2012

Может быть, будет полезен абстрактный класс, который реализуют контроллеры?

Однако, если я вас понимаю, вам нужен класс, в который вы в основном внедряете все свои сервисы и даосы, тогда остальные классы наследуют его?

Это может вызвать проблемы с тем, как Spring настраивает свои прокси, когда классы ссылаются на внедренные синглтоны. Не уверен на 100%, хотя, возможно, захочет избежать этого.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...