Я новый пользователь Guice, давний пользователь Spring IoC. У меня есть ряд классов @Singleton
для моего уровня обслуживания, который, как я понимаю, примерно эквивалентен размаху бонуса Spring по умолчанию.Как остановить Wicket, создавая несколько экземпляров синглетов с инъекцией Guice?
Однако, когда я использую @Inject
на моих страницах Wicket, прокси CGLib целевых объектов создается каждый раз, когда страница построена, создавая тем самым новые экземпляры моих предполагаемых синглетонов.
Обратите внимание, что я впрыскиваю конкретные классы, а не интерфейсы.
Как я могу использовать @Inject
и извлекать единственный экземпляр singleton моих объектов, введенных в Guice?
Обновлено: Решение в соответствии с принятой ответ Свена
INJECT интерфейсов в компонентах Калитки, а не конкретных классов. Несмотря на много дискуссию по теме в связанной теме, это, по-видимому, единственное практическое решение.
Спасибо Sven. Я добрался до создания конструктора no-arg, чтобы сохранить cglib happy, но по какой-то причине не совсем установил связь между этим и множественным созданием singleton. – nullPainter