Лучшие практики Spring Framework: развертывание компонента, не совместимого с компонентом - PullRequest
3 голосов
/ 23 октября 2010

Я хочу создать приложение MVC, используя Spring (первый таймер здесь).

Поэтому я хочу встроить Jetty в качестве движка сервлета.Тем не менее, Jetty не строго следует шаблону Java-бинов, поэтому я не могу запустить некоторые классы из Spring (они используют перегруженные установщики или не инициирующие методы инициализации, такие как addXYZ).

Какова принятая / рекомендуемая практика дляструктурирование этого проекта?Очевидно, весь мой код хорошо вписывается в модель MVC, но для Jetty:

  • Инкапсулирую ли я весь Jetty (или любой другой компонент, не относящийся к бобам) в свой собственный Spring-friendly bean-компонент?
  • Пытаюсь ли я создать как можно больше его экземпляров весной и просто расширить классы, которые не соответствуют бобам, чтобы они действовали как настоящие бины?
  • Есть ли другой вариант?

1 Ответ

3 голосов
/ 23 октября 2010

Вообще говоря, я за 2-й пункт - то есть попробуйте использовать утилиты Spring, такие как factory-method, init-method, <constructor-arg> и тому подобное, чтобы преодолеть тот факт, что что-то не совсем благоприятно для весны. Редко бывает, что невозможно сконфигурировать бины с помощью весны. А для случаев, когда это невозможно, создайте обертки

Вы также можете создавать сторонние бины программно:

...