2013-11-26 1 views
0

Is Spring Container - это как jvm? или это другое? Почему используется Spring IOC? Если это для создания объектов без использования нового оператора? что не так в использовании нового оператора?Is Spring Container - это как jvm?

Если мы создаем одноэлементные объекты и возвращаем один и тот же объект всякий раз, когда требуется приложение, мы загружаем все объекты при запуске сервера? что это не сделает приложение тяжелым?

Если это так, то зачем нам весеннее ядро? Как фильтр, bean post processor, aop отличается? , если aop используется для реализации сквозных задач, зачем нам нужен интерфейс beanProcessor?

+0

Это очень много вопросов ... –

ответ

1

Is Spring Container - это как jvm?

Нет, Spring - это Java-инфраструктура. Он предоставляет классы, которые вы можете использовать для запуска приложения Java на JVM.

Почему используется Spring IOC?

Learn what Inversion of Control is and you will understand why it is used so heavily.

Если для создания объектов без использования нового оператора? Что такое неправильно в использовании нового оператора?

Операции ключевого слова new компилируют временные зависимости. Инверсия управления и зависимостей инъекций удаляет эти зависимости, в основном, путем отражения.

Если мы создаем одноэлементные объекты и возвращают один и тот же объект всякий раз, когда приложение хочет, мы загружаем все объекты на сервере запуска? что это не сделает приложение тяжелым?

Обычно вы хотите, чтобы все эти объекты запускались, поэтому это не проблема. Вы можете отложить инициализацию этих объектов (бобы) с ленивой загрузкой.

Если это так, то зачем нам весеннее ядро?

Если что такое?

Как фильтр, bean post processor, aop отличается?

BeanFactory создает и инициализирует бобы. A BeanPostProcessor предназначен для переноса компонента в прокси-сервер или изменения свойств этого компонента. javadoc имеет более подробную информацию.

Аспект ориентированное программирование - это стиль программирования. Чтобы реализовать его с помощью простой старой Java, вам необходимо использовать прокси JDK или CGLIB. Они применяются с использованием экземпляров BeanPostProcessor путем упаковки обработанного компонента. Вызовы, идущие к целевому компоненту, будут перехвачены прокси-сервером, который (возможно) выполнит логику до делегирования целевому компоненту.Возможности AOP Java почти полностью ограничены вызовами методов.

+0

'BeanPostProcessor предназначен для переноса bean-компонента в прокси-сервер. Что действительно означает прокси-сервер в весеннем mvc? Я много раз слышал это слово в весенних обсуждениях. – piechuckerr

+0

@piechuckerr Взгляните на ['Proxy'] (https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Proxy.html). Это основа прокси-серверов JDK. Для этого CGLIB имеет свой собственный набор классов. Прокси-серверы просто предназначены для перехвата или переноса поведения перед передачей фактическому объекту. –

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