2016-08-25 2 views
0

У меня есть пакет «A» с интерфейсом «Shape» и реализующий класс «Rectangle». Интерфейс и класс имеют доступ по умолчанию. Теперь у меня есть еще один пакет «B» с классом «ShapeTester». В этом классе ShapeTester я пытаюсь создать экземпляр класса Rectangle или попытаться объявить переменную типа Shape, и я получу ошибку компиляции, которая ожидается. Но в классе ShapeTester, если я использую контейнер Spring для создания компонента, он создает компонент для класса Rectangle.Почему весенний контейнер создает бобы даже для класса с доступом по умолчанию, не проверяя ограничения доступа?

Неправильно ли Spring Framework создавать бобы, даже не проверяя, что класс, в котором создается bean-компонент для Rectangle, даже не знает, что любой такой Rectangle-класс существует даже?

ответ

0

Весна просто создает экземпляры объектов. Неважно, из какого класса или упаковки вы запускаете весенний контейнер.

Явная концепция видимости больше связана со статическими отношениями. Например, если у вас есть класс A в пакете a, тогда все правила основаны на этом. Не имеет значения, создается ли класс A классом B из другого пакета.

Смежные вопросы