Либо я чего-то не понял, либо нужно запостить сюда вот это название org.springframework.test
и вот это: AbstractTestNGSpringContextTests
Такое же есть для junit
Пристально изучил бы логику приложения. Если у вас есть операционный класс, требующий доступ к бинам, то, похоже, вы где-то допустили ошибку. Этот сервис, сам по себе, должен бы создаваться инжектором (спрингом или что там у вас). Мне так кажется.
Я понимаю bean и service нескольк иначе в контексте нашей беседы. Раз уж мы говорим о spring, To bean — это любой объект, управляемый через spring. Service тут является неким классом, ответственным за логику приложения и, разумеется, ему неплохо бы быть бином, с точки зрения spring, иначе и возникает ваша проблема.
Вот этот класс из тестовой библиотеки, AbstractTestNGSpringContextTests как раз и показывает, что ваша проблема не чужда другим людям и они ее решают как раз передачей сервиса в управление спрингу.
Так вот, считаю, что приложение работающее в servlet/application контейнере должно само, в ответ на событие, создавать экземпляры и проводить и вставлять в них все необходимое с помощью InjectorHolder-ов либо средств платформы. Если вам приходится руками создавать класс, и в него впихивать знание о спринге — мне такой подход кажется ошибочным.
Декстопные приложения мне знакомы мало, но и там я бы продумал цепочку созданий и требований объектов так, чтобы получить на выходе полностью всем обеспеченный экземпляр.
То, что Вы предлагаете, это " создавать экземпляры и проводить и вставлять в них все необходимое с помощью InjectorHolder-ов"
Это правильно, но что если у меня создается экземпляр класс A (через new), он создает экземпяр класс Б, он создает экземпляр класс С. Тут то мне и нужен сервис. Они не бины.
Я могу 1) Сделать их всех prototype beans и инжектить мой сервис в С. Работать будет, но делать обычные классы в большом числе прототайп бинами — видится излишним усложнением
2) Тянуть мой сервис через цепочку конструкторов — коряво как то
3) Сделать мой StaticContextHolder
Вот потому я и говорю, что мне видится проблема в логике программы. Если у вас есть цепочка от спринг-бина до обеда, в процессе которой обнаруживается необходимость в контексте, то вы что-то сделали не так в архитектуре.
Создание spring beans из обычных классов и юнит тесты