Интеграция чаш Грааля в существующее пружинное приложение?

«Выкопать его из debug_backtrace ()» не так уж много работы. У debug_backtrace () есть член 'type', который является '::', если вызов статический, и '->', если это не так. Итак:

class MyClass {
    public function doStuff() {
        if (self::_isStatic()) {
            // Do it in static context
        } else {
            // Do it in object context
        }
    }

    // This method needs to be declared static because it may be called
    // in static context.
    private static function _isStatic() {
        $backtrace = debug_backtrace();

        // The 0th call is to _isStatic(), so we need to check the next
        // call down the stack.
        return $backtrace[1]['type'] == '::';
    }
}

8
задан D. Wroblewski 19 May 2009 в 12:58
поделиться

3 ответа

Я пытаюсь создать одно приложение с приложением Grails и приложением Spring.

Я пытался внедрить приложение Grails в приложение Spring, но это «невозможно» . Проще внедрить приложение Spring в приложение Grails. Grails знает, что такое Spring, но Spring не имеет представления о том, что такое Grails.

В этой статье вы можете найти полезную информацию о том, как использовать файлы отображения гибернации или аннотации в Grails, так что вы не должны: не нужно все переназначать. Также вы можете использовать все свои классы Java (поместите их в src / java). Вы можете поместить компоненты, определенные в ApplicationContext.xml, в conf / spring / resources.xml. Вы можете оставить их в ApplicationContext, но у меня были проблемы. Я не закончил работу (почти), и все выглядит хорошо.

3
ответ дан 6 December 2019 в 00:59
поделиться

Я согласен с тем, что создание интерфейса администратора - хорошее упражнение для изучения Grails, а также согласен с предыдущим ответом о том, что Grails сложно, если не невозможно, интегрировать с существующим приложением Spring. Вы, вероятно, могли бы это сделать, но головная боль того не стоит.

Grails построен поверх Hibernate для его ORM, поэтому, если вы уже используете Hibernate с этим приложением Spring, вы можете использовать это в своих интересах. Настроить приложение Grails для использования уже существующих моделей Hibernate не так уж сложно, и это хорошо объясняется в документации Grails.

Поэтому я бы рекомендовал создать консоль администратора как независимое приложение Grails, но использовать Модели Hibernate у вас уже есть, если вы действительно использовали Hibernate.

0
ответ дан 6 December 2019 в 00:59
поделиться

Было бы трудно «скрыть это», если у существующего приложения не будет правильная структура каталога, которая точно соответствует тому, как это нравится grails - в конце концов, соглашение по конфигурации - это то, где сила grails происходит от.

Вы можете попробовать сделать интерфейс администратора как «отдельное» приложение от исходного / существующего приложения Spring и сопоставить существующую базу данных с объектами домена grails. хотя я не уверен, как бы вы могли легко запустить их бок о бок без дополнительной информации о существующем приложении. Хотя это определенно возможно.

0
ответ дан 6 December 2019 в 00:59
поделиться
Другие вопросы по тегам:

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