JavaRush /Java Blog /Random-TL /Mga pakinabang ng paggamit ng Spring
Alex
Antas

Mga pakinabang ng paggamit ng Spring

Nai-publish sa grupo
Maraming mga baguhang developer ang maaga o huli ay nakatagpo ng Spring , isang sikat na framework para sa pagbuo ng mga application sa Java. Ang pangunahing bagay na pinapayagan ka ng Spring na gawin ay ang gawing simple ang pagbuo ng mga J2EE application para sa developer. Narito ang mga pangunahing benepisyo na nakukuha ng isang developer kapag gumagamit ng Spring:
Преимущества использования Spring - 1
  • Nagbibigay ang Spring ng balangkas para sa iyong aplikasyon sa hinaharap, kung gusto mo ng "blangko" para sa iyong aplikasyon sa hinaharap. Kasabay nito, idinidikta sa iyo ng balangkas ang mga patakaran para sa pagbuo ng application - mayroong isang partikular na arkitektura ng application kung saan kailangan mong buuin ang iyong pag-andar. Ang functionality na ito ang talagang magiging logic ng negosyo ng iyong application. Kasama sa Spring ang maraming subproject na iniayon sa partikular na functionality (SpringMVC, Spring Security, SpringData, atbp. ang buong listahan ay makikita sa https://spring.io/projects ), kung saan mapipili ng developer ang pinakaangkop para sa kanya, at huwag gamitin ang natitira - ito ay isang modular na prinsipyo ng pagbuo ng isang aplikasyon;

  • Sa isang Spring based na application, ang mga bagay ay maluwag na pinagsama sa pamamagitan ng paggamit ng dependency injection. Ang isa sa mga layunin ng Spring ay upang sirain ang dependency ng ilang mga bagay sa iba. Ano ang addiction? Ito ay kapag ang Object1 ay gumagamit ng mga pamamaraan ng isa pang Object2, ibig sabihin, ang Object1 ay nakasalalay sa Object2, na ang mga pamamaraan na ginagamit nito. Bakit siya umaasa? Ngunit dahil hanggang sa magawa ang object na Object2, hindi maipapatupad ng Object1 ang functionality nito. Paano mapupuksa ang pagkagumon? "Mag-inject" ng isang reference sa object2 object sa object1 object sa pamamagitan ng isang constructor o setter. Ang prosesong ito ay talagang dependency injection. Mahalagang tandaan na ang mga bagay sa Spring ay dapat na binuo batay sa mga interface, upang ang mga dependency ay na-injected sa anyo ng isang interface para sa posibleng kasunod na kapalit ng pagpapatupad.

  • hindi mo kailangang gumawa ng mga bagay nang manu-mano gamit ang bagong operator. Ang function na ito ay itinalaga sa lalagyan ng Spring. Ito ay inversion of control (IoC) - paglilipat ng function ng pag-instantiate ng mga kinakailangang dependency (mga bagay) sa lalagyan. Ano ang tungkulin ng developer sa lahat ng itatanong mo? Ipahayag ang bahagi upang ito ay mahulog sa konteksto ng Spring. Ang konteksto ng tagsibol, sa madaling salita, ay isang mapa kung saan matatagpuan ang lahat ng beans. Kapag sinabi nila na ang isang bean ay nasa konteksto ng Spring, isaalang-alang na ang bean ay nasa mapa, at alam ng Spring ang susi upang makuha ito mula sa mapa. Lahat na minarkahan bilang isang bean sa xml configuration o sa mga klase na may @Component annotation ay inilalagay at inilalagay sa isang mapa ng form na Map<key,bean> map, i.e. ang lalagyan ay may mapa kung saan ito "nag-iimbak" ng lahat ng beans (ang pangunahing konsepto sa Spring ay isang bean, ito ay isang entity na pinamamahalaan ng lalagyan. Upang ang isang bean (ordinaryong klase) ay mapamahalaan, dapat itong mahulog sa Konteksto ng tagsibol.) at, kung kinakailangan, pagpapatupad, ang lalagyan ay gumagawa ng ganito: map.get(key), ang susi ay ang uri ng field;

  • Spring освобождает не только от необходимости создавать an objectы, но и связывать их. Например annotation @Autowired позволяет автоматически связывать компоненты. Аннотацию спринга @Autowired можно было бы описать по-простому так - дорогой друг, контейнер спринг, посмотри пожалуйста в своей мапе с бинами, нет ли у тебя там класса instanceof or implements того, перед чем я стою. Если есть - дай мне ссылку в поле, перед которым я объявлена. Автоматическое связывание позволяет уменьшить количество codeа при определении зависимостей компонентов;

  • в Spring настройки компонентов отделены от программного codeа. Вынесение конфигурации (управление зависимостями) в отдельный файл облегчает последующие изменения в проекте (замена реализаций):


    • улучшенная возможность тестирования. Когда классы проектируются дна основе DI и интерфейсов, становится возможной простая замена зависимостей (фейковыми реализациями) при тестировании;

    • возможность программирования в декларативном стиле с помощью аннотаций уменьшает количество codeа в приложении;

    • поддержка и хорошая интеграция с технологиями доступа к данным, транзакциями, AOP упрощает разработку;

    • хорошее documentирование очень помогает при отладке applications;
Тем, кто хочет разобраться со Spring, советую к прочтению К.Уоллс. Spring в действии - 3-е издание и, конечно, официальную documentацию.
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION