Я уже написал пару Spring загрузки приложения (на данный момент, один для веб-сайтов, один с помощью JavaFX и несколько CLI приложений). Хотя все работы, как и ожидалось, я в настоящее время борется с одной конкретной концепции рабочего стола или командной строки приложения: @Scope аннотацию для @Service с и @Component с.Что такое @Scope для компонентов в приложениях Spring/CLI для загрузки Spring?
Я недавно много читал о том, почему одиночные игры являются «злыми» или, по крайней мере, нежелательными, но для настольных приложений в настоящее время я не вижу другого способа реализовать его, поскольку большую часть времени в таких приложениях достаточно одного экземпляра ,
В Guice Я бы создал экземпляр (нестатический и не конечный) в моем модуле. В Весна Я использую @Scope ("singleton").
Что я хочу знать сейчас: Это чистое решение? Есть ли другое решение?
С уважением, Daniel
Синглтоны не являются злыми, одноэлементный шаблон злой, но это разные вещи. Не делая вещи singleton и делая все запросы/сеансы могут даже усложнять ситуацию и делать вещи более интенсивными в памяти и менее эффективными. –
Чтобы быть более точным: * статический одноэлементный шаблон * является злым, потому что он делает код трудным для тестирования и т. Д. Это не значит, что синглтоны всегда злы и их следует избегать. Нет ничего плохого в Spring Singleton beans. – Jesper
Итак, чтобы подвести итог: я не сделал ничего плохого в аннотации сервисов с помощью Singleton scope.Но я бы использовал, если бы использовал старый шаблон синглтон. Правильно? ОК. Может быть, тогда кто-то может сделать «реальный» ответ (с точки зрения StackOverflow), и я проголосую за него и отметю его как правильно. Другие люди, спотыкающиеся об этом, будут знать, что правильно, без необходимости читать каждый комментарий. Заранее спасибо! – dzim