Реализация интерфейса это тесная связь?
Здесь говорится, что
Я бы не рекомендовал использовать интерфейс InitializingBean и DisposableBean, потому что он будет тесно связан с вашим кодом к Spring
Имеет ли это смысл? Я думал, что это будет как раз противоположность тесной связи.
2 ответа
Здесь автор означает, что если вы позволите своим классам приложений реализовывать интерфейсы InitializingBean и DisposableBean (которые являются интерфейсами, специфичными для пружины), то вы связываете свой код с пружиной. В будущем, если Spring переименует эти интерфейсы (хотя вряд ли), или вы перестанете использовать Spring, вам придется обновить код вашего класса.
Вместо этого, если вы используете атрибуты init-method и destroy-method в своей конфигурации bean-компонента, ваш класс не зависит от Spring, т.е. ваш класс не зависит от классов, специфичных для Spring.
Надеюсь, поможет.
Я думаю, что идея здесь состоит в том, чтобы не создавать никакой зависимости от вашего кода для весенних аннотаций
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
Когда вы явно объявляете этот вид зависимости, вы связываете свой код с пружинными банками.
В этом другом примере - http://www.mkyong.com/spring/spring-init-method-and-destroy-method-example/ - он показывает, как вы можете использовать методы соглашения, определенные в XML. Нет весеннего импорта.