В моих приложениях, основанных на пружинах калитки, у меня есть этот метод для добавления диспетчера пружин в класс WebApplication
:
private void initManager() {
ApplicationContext applicationContext = WebApplicationContextUtils.getRequiredWebApplicationContext(getServletContext());
this.manager = (MyManager) applicationContext.getBean("manager");
}
Я обычно настраиваю страницу внутренней ошибки внутри метода init
WebApplication
класс.Иногда я также монтирую несколько закладок:
public class MyApplication extends WebApplication {
@Override
protected void init() {
IApplicationSettings applicationSettings = getApplicationSettings();
applicationSettings.setInternalErrorPage(ErrorPage.class);
mountBookmarkablePage("privacy", PrivacyPage.class);
}
//............
}
Мои WebPage
классы обычно зависят от моего класса менеджера, например:
public class ErrorPage extends WebPage {
public ErrorPage() {
MyApplication application = (MyApplication) getApplication();
add(new EmailLink(application.getManager().getMailSupport()));
}
}
Итак, мой класс WebApplication
относится кодна или несколько страниц, и мои страницы относятся к классу WebApplication
.Это круговая зависимость?Если да, как я могу избежать этого?