Я работаю над приложением Spring, используя бины разных областей.Многие бобы синглтоны, другой запрос или пользовательские области.Особенно из-за использования этих пользовательских областей иногда трудно определить, в какую область можно безопасно внедрить, в какую другую область или когда, например, необходимо использовать Provider<T>
.
Я знаю, что могу просто создать прокси области действиядля всех бобов, которые в основном не являются синглетонами, но во многих случаях это не кажется необходимым.Например, предполагается, что bean-компонент может быть внедрен в другие bean-объекты той же области, но не все, кто работает над проектом, могут об этом знать.Таким образом, было бы здорово, если бы кто-то мог как-то предотвратить «неправильное использование» этих бинов, особенно если бы не всегда можно было распознать ошибку во времени.
Поэтому мой вопрос: есть ли способ определить, какая область видимости можетбыть безопасно введенным в область действия, а затем предотвратить прямую (без использования Provider<T>
) фасоль с более узкой областью действия, например, в синглтон-фасоль?