2013-09-13 3 views
1

У нас есть довольно привлекательное веб-приложение, написанное с использованием Spring-mvc с системой сборки maven и желание использовать всю мощь Grails для переднего конца. Таким образом, приложение Grails по существу заходит в сервисный уровень приложения spring-mvc для доступа к своей бизнес-логике и данным.Приложение Grails, использующее услуги от back-mvc backend

Мне нужно руководствоваться моим архитектурным подходом к этой интеграции на высоком уровне. С моей точки зрения, мне нужно будет; - добавьте мое приложение spring-mvc в качестве зависимости от компиляции в моем BuildConfig.groovy. - Expose объектов обслуживания уровня как службы фасоль в моем конфе/весной/resources.groovy и ввести их в свои контроллеры

Вопросов: Моей весна-MVC приложения имеет много зависимостей его собственное (что, очевидно, имеет в имеют), которые вызывают множество ошибок зависимостей. Должен ли я настраивать «transitive = false» в моей конфигурации и вызывать все это в моем приложении Grails? Как настроить источник данных? Я предполагаю, что мне нужно интегрировать applicationContext моего приложения spring-mvc, вызывая его из моего приложения Grails applicationContext и надеясь, что он полностью загрузится?

+0

Как вы получаете доступ к своей базе данных в этих сервисах Spring?Это через инъекцию зависимостей? –

+0

Доступ к базе данных осуществляется через источник данных в источнике весной. Именно поэтому я считаю, что у меня есть больше работы, чтобы разоблачить это приложение Grails. – dre

ответ

3

Так что приложение Grails существенно позвонить в сервисный уровень весенне-MVC приложения для доступа к его бизнес-логику и данные

Можете ли вы быть немного более конкретно о том, какие компоненты Spring MVC вы хотите для использования с Grails, это просто услуги и источник данных?

мне нужно будет добавить свою весеннюю MVC приложение в качестве зависимости компиляции в моем BuildConfig.groovy

да

Expose объекты обслуживания уровня как службы фасолью в моем conf/spring/resources.groovy

Хотя вы можете сделать весеннюю фасоль известной вашему приложению Grails, определив их отдельно в resources.groovy, это необязательно, потому что вы уже определили их в файле Spring Spring (предположительно) в проекте Spring MVC.

Вместо этого вы можете использовать importBeans method BeanBuilder для импорта фасолей Spring, определенных в этом файле XML, в приложение Grails. После того, как вы добавили проект Spring MVC, как зависимость вашего приложения Grails, файл Spring XML должен быть на вашем пути к классам, так что все, что вам нужно сделать, это добавить следующее resources.groovy

beans = { 
    importBeans('classpath:/path/to/file/applicationContext-services.xml') 
} 

Как должна источник данных настроен?

Весенний боб с именем dataSource определяет источник данных, который использует приложение Grails. В стандартном приложении Grails этот компонент создается на основе конфигурации в DataSource.groovy. Если ваше приложение Spring MVC определяет компонент с этим именем, тогда это следует использовать вместо внесения изменений выше. Чтобы убедиться, что Grails использует источник данных из вашего приложения Spring MVC, а не в DataSource.groovy, я думаю, вы можете удалить содержимое последнего.

+0

Все сделано. Как только я закончил пробираться через суп с переходной зависимостью, я сконфигурировал приложение grails, предложенное доном, и теперь оно работает. Я звоню в сервисный уровень моего приложения Java из своих контроллеров Grails. Спасибо, Дон! – dre

Смежные вопросы