2010-10-23 2 views
3

Я хочу создать приложение MVC с помощью Spring (первый таймер здесь).Рекомендации по использованию Spring Framework: развертывание компонента, не совместимого с компонентами

Как таковой, я хочу встроить Jetty в качестве механизма сервлетов. Однако Jetty не строго следит за шаблоном java beans, поэтому я не могу запускать некоторые классы из Spring (они используют перегруженные сеттеры или неинтернетные методы init, такие как addXYZ).

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

  • ли я инкапсулировать все Jetty (или любой другой не боб дружественного компонента) в моей весны дружественной фасоли?
  • Я пытаюсь создать экземпляр так, как это возможно возможно весной, и просто продлить классы, которые не являются фасольконформатором , чтобы заставить их действовать как правильные бобы?
  • Есть другой вариант?

ответ

3

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

Вы также можете создать экземпляр 3-й партии фасоли Programatically:

+0

Ой, не поймите меня начав свою документацию, я часами смотрел наполовину с пустым лицом в этом документе. :) Я довольно старый, я думаю (недопустимые ссылки на пакеты и использует устаревшие компоненты), поэтому я перехожу к встроенному маршруту и ​​следую за примерами кода с обновлением. Спасибо за предложение, это помогает услышать от других людей, у меня нет помощников куба, сидящих рядом. –

+1

Другой вариант, который появляется на ум, - это использование Java Config ... позволяет проскользнуть мимо гадостей (как, казалось бы, безвредная проблема с перегруженными сеттерами). Я бы приветствовал дальнейшие комментарии по этой идее. –

+0

@ Давид Паркс - да, JavaConfig также является хорошим вариантом. Теперь я добавляю обновление. – Bozho