КампутарыПраграмаванне

Spring Java: асновы і ўрокі для пачаткоўцаў

На сённяшні дзень практычна для ўсіх прыкладанняў выкарыстоўваюць скрыптовы метад праграмавання - Spring Java. Асноўная перавага дадзенага мовы заключаецца ў тым, што карыстачу падаецца магчымасць распрацаваць праграму ў выглядзе простага набору loose-coupled элементаў, не прывязаных адзін да аднаго.

Прасцей кажучы, чым менш блокі прыкладання звязаныя паміж сабой, тым лягчэй прапісаць новы функцыянал і пры гэтым кантраляваць ўжо існуючую структуру. Адным з найбольш яркіх і простых прыкладаў з'яўляецца кіраўніцтва транзакцыямі. З дапамогай Spring Java кіраванне структурай транзакцыі ажыццяўляе незалежна ад галоўнай логікі звязанасці з БД. Якія-небудзь змены канструкцыі логікі не паўплываюць на транзакцыйных, гэта значыць не парушаць асноўную ідэю праграмы. Spring валодае модульная.

Розныя элементы і структуры можна выдаляць або дадаваць у любых месцах практычна незалежна адзін ад аднаго. Па сутнасці, праграму можна падзяліць такім чынам, што яна нават не зразумее, што кіруецца з дапамогай Spring Java. Акрамя таго, дадзены скрыптовы мова праграмавання значна спрашчае модульнае тэставанне, так як элемент, распрацаваны для кантэнту IoC, дастаткова проста інжэктаваная на ілжывыя ўзаемасувязі і тым самім праверыць функцыянальнасць і правільнасць яго апісання.

Spring Java таксама прыкметна спрашчае ініцыялізацыю і падладку элементаў праграмы, гэта значыць вы можаце лёгка і без праблем наладзіць прыкладання пад сябе, не робячы пры гэтым глабальных перенастроек з асноўным кодзе Spring.

Сёння можна знайсці па Java Spring падручнікі ў велізарнай колькасці і на розных мовах (англійскай, рускай і т. Д). Таму адолець "Джавы" вы можаце і самастойна, а мы ў гэтым вам пастараемся дапамагчы!

Spring знутры

Як пабудавана архітэктура "Джавы спринг" знутры, напэўна, ведае далёка не кожны. Таму давайце разгледзім больш дэталёва гэтую канструкцыю:

  • Ўстаноўка BeanDefinition і парсирование канфігурацыі кантэксту (Xml, JavaConfig, Groovy і AnnotationConfigApplicationContext). На першапачатковым этапе ствараюцца ўсе інтэрфейсы - BeanDefinition. У залежнасці ад выбару канфігурацыі неабходна выкарыстоўваць адпаведны механізм - парсирование кампанентаў прыкладання.
  • Настройка створаных інтэрфейсаў (відаў) - BeanDefinition.
  • Ўстаноўка кастомных аб'ектаў з дапамогай FactoryBean.
  • Стварэнне экземплярных (чарнавых) бинов.
  • Настройка створаных бинов.
  • Праверка функцыянальнасці напісаных бинов.

Spring: пачатак

Калі вы толькі вырашылі пачаць знаёміцца з праграмаваннем на "Джавы спринг", рэкамендуем пачынаць менавіта з Java ee Spring (фреймворк). Гэта адзін з самых простых метадаў з адкрытым зыходным кодам для дадзенай платформы "Джавы". Фреймворк стварае паслядоўную канструкцыю, якую можна без праблем прымяніць да большасці задач, хто быў ужо раней апісаны на аснове Java. Прастата і празрыстасць фреймворка дазволіць вам самастойна убачыць памылкі ў напісанні.

Spring можна апісаць як сукупнасць некалькіх незалежных фреймворков, так і больш складаных канструкцый (фреймворк ў фреймворке). Большасць дадзеных структур можа функцыянаваць незалежна адзін ад аднаго, аднак яны дэманструюць велізарны аб'ём працаздольнасці пры сумесным запуску прыкладання. Гэтыя кампаненты падзяляюцца на структурныя дэталі комплексных праграм у залежнасці ад іх прызначэння:

  • Кантролер - inversion of control. Забяспечваюць карэктную працаздольнасць, адказваюць за канфігурацыю элементаў прыкладання і рэгулююць функцыянальны цыкл аб'ектаў Java.
  • Доступ да дадзеных - функцыянал накіраваны на кіраванне рэляцыйнымі базамі дадзеных (БД) у Java. Дзякуючы гэтаму фреймворка забяспечваецца рашэнне велізарнай колькасці складаных задач на базе Java environments.
  • Фреймворк аспектно-арыентыровачным налады. Працуе з кампанентамі, якія не могуць рэалізавацца без якіх-небудзь страт на Java.
  • Кіравання транзакцыямі. Фреймворк каардынуе АР і інструментарый настроена аб'ектамі упраўленнямі транзакцый для элементаў Java.
  • Фреймворк аддаленага доступу і кіравання. Канфігурацыя адбываецца лакальна.
  • Аўтэнтыфікацыя і аўтарызацыя. Падтрымліваюць канфігурацыю на многіх папулярных пратаколах праз Spring Security.

На сённяшні дзень для ўсіх фреймворков ў "Спринг" прадастаўляецца шэраг магчымасцяў:

  • Аўтаматычнае кіраванне рэсурсамі.
  • Апрацоўка выключаных кампанентаў пры доступе да дадзеных выключэння самога "Спринга".
  • Празрыстае кіраванне транзакцыямі падчас якіх-небудзь аперацый з дадзенымі.
  • Разархивирование рэсурсаў.
  • Апрацоўка абстракцыі ў многіх фарматах.

Неабходна разумець прызначэнне ўсіх фреймворков, так як гэта аснова Java Spring. Для пачаткоўцаў рэкамендуецца пачынаць вывучаць усе кампаненты па групах і спрабаваць іх выкарыстоўваць на прыкладах.

Як зрабіць простае дадатак на Java Spring (фреймворк)

Канфігурацыю прыкладання ў Spring можна ажыццяўляць некалькімі спосабамі. Адным з найбольш распаўсюджаных і досыць простых лічыцца вынас канфігурацыі ў XML-файл. Гэты тып традыцыйна выкарыстоўваюць у многіх версіях Java Spring. Для пачаткоўцаў рэкамендуем выкарыстоўваць такія інструменты як java (1.5), tomcat (6), ant (1.7), eclipse (3), junit 4x.

Для таго каб апісаць простую задачу ў Java Spring, неабходна прытрымлівацца такой чарзе:

  • Стварыць саму структуру прыкладання. Для гэтага вам спатрэбіцца на eclipse ўсталяваць адмысловую ўбудову - Spring IDE. Таксама неабходна стварыць праект на Springapp і дадаткова дадаць тэчку war.
  • Стварыць index.jsp. У Java Spring web дадаткова прапісаць WEB-INF і змясціць у яе web.xml.
  • Деплоим праграму ў tomcat. Для таго каб разгарнуць прыкладанне, неабходна скарыстацца ANT-скрыптам, які будзе ўтрымліваць мэта для кампіляцыі, пераносу і будынкі праграмы.
  • Прапісаўшы цалкам усе прыкладання, зрабіце праверку. Запускайце tomcat і адкрывайце вэб-старонку з адрасам: localhost: 8080 / springapp /.
  • Затым вам спатрэбіцца ўсталяваць Spring Framework і разархіваваць яго.

На гэтым этапе можна сказаць, што вы спешна завяршылі наладу сеткавага асяроддзя. Далей варта падбудаваць Spring Java config:

  • Для пачатку неабходна зрабіць некаторыя змены ў web.xml, якія вы знойдзеце ў тэчцы WEB-INF. Наша мэта заключаецца ў тым, каб прапісаць дыспетчар ўваходных запытаў прыкладання.
  • Вырабляем дыспетчарызацыі ўваходных запытаў. Мы вырашылі ўсе запыты з выгляду '.htm' накіроўваць на сэрвлета-дыспетчар.
  • Затым скапіюйце бібліятэкі дадзеных у WEB-INF / lib.
  • Стварыце кантролер у springapp.web і прапішіце тэст.
  • Задайце выгляд і скомпилируйте прыкладання на сэрвэры.
  • Паспрабуйце запусціць прыкладання.

Што ж мы зрабілі ў Spring Java? Для чайнікаў некаторыя з вышэй пералічаных пунктаў будуць незразумелыя, таму паспрабуем апісаць прасцей:

  1. Мы стварылі стартавую страницу- index.jsp, якая служыць для таго, каб праверыць карэктнасць ўстаноўкі акружэння.
  2. Прапісалі дыспетчар з адпаведным файлам апісання springapp-servlet.xml.
  3. Стварылі кантролер і прапісалі для яго тэкст.
  4. Задалі выгляд прыкладання.

Што такое Java Spring Security і навошта ён патрэбны?

Spring Security дазваляе аўтарызавацца і аўтэнтыфікаваных прыкладання. Акрамя таго, дадзены фреймворк забяспечвае бяспеку карпаратыўных задач, якія ствараюцца з дапамогай Spring Framework.

Ключавыя кампаненты Spring Security:

  • SecurityContextHolder. Змяшчае бягучую інфармацыю пра бяспеку, а таксама ўключае ў сябе падрабязныя звесткі пра карыстальніка, які запусціў прыкладання. Па змаўчанні SecurityContextHolder захоўвае інфармацыю ў ThreadLocal, а гэта значыць, што кантэкст бяспекі даступны для ўсіх метадаў, якія рэалізуюцца ў дадзеным струмені.
  • SecurityContext. Змяшчае ўсю інфармацыю аб бяспекі сістэмы, якая звязаная з запытам карыстальніка, а таксама аб'ект Authentication.
  • Authentication. Распазнае карыстальніка з праграмнай боку.
  • GrantedAuthority. Паказвае дазволу, якія атрымаў карыстач у маштабах усяго прыкладання.
  • UserDetails. Адлюстроўвае неабходную інфармацыю для налады Authentication з іншых крыніц сістэм бяспекі. Ўтрымлівае такія дадзеныя, як нікнэйм карыстальніка, пароль і сцягі.
  • UserDetailsService. Выкарыстоўваюць для таго, каб стварыць UserDetails з дапамогай рэалізацыі аднаго метаду дадзенага інтэрфейсу.

інтэграцыя Java

Integration Java Spring - гэта ўнікальны фреймворк, які ўключае ў сябе наладу функцый, якія адказваюць за адпраўку паведамленняў. Акрамя таго, дадзены аб'ект адказвае за пабудову дзейсна-арыентыровачным архітэктуры:

  • Роутеров.
  • Адаптараў для ўзаемадзеяння з іншымі сістэмамі.
  • Актыватараў сэрвісаў.
  • Трансформераў і інш.

Spring Hadoop

Гэта новая распрацоўка VMware, якая злучыла два велізарных праекта - Apache Hadoop і Spring. Сярод мноства пераваг новага фреймворка варта вылучыць некалькі асноўных. гэта:

  • Падтрымка канфігурацыі на базе HBase.
  • Прафесійная падтрымка Batch Spring.
  • Падтрымка карыстання з інтэграцыяй Java Spring.
  • Параметрызацыі канфігурацыі Hadoop.
  • Прылады шаблонна апрацоўкі злучальных кампанентаў з Hadoop.
  • Дэкларатыўная падтрымка для інструментаў Hadoop.
  • Праграмуемы падтрымка для кампанентаў Hadoop.

Java Hibernate

Практычна ўсе вэб-прыкладанні не могуць абысціся без захоўвання вялікай колькасці інфармацыі. Як правіла, для вырашэння гэтай праблемы выкарыстоўваюць розныя спецыяльныя праграмы - СКБД і т. Д. Па структуры арганізацыі і частаце выкарыстання базы дадзеных можна падзяліць на некалькі падгруп, і так атрымалася, што рэляцыйныя з'яўляюцца найбольш распаўсюджанымі. Як правіла, апісанне дадзеных канструкцый досыць вялікія, і не заўсёды іх рацыянальна выкарыстоўваць.

Java Spring - тэхналогія для палягчэння напісання прыкладання - рэкамендуе выкарыстоўваць ORM (Object-Relational Mapping). Рэалізуе дадзены метад бібліятэка Hibernate, якая зменьвае дадзеныя з аднаго віду ў іншы. Акрамя таго, з яе дапамогай можна лёгка наладзіць падлучэння да файлаў СКБД і кіраваць транзакцыямі.

Для Праабражэння аднаго класа ў іншы на Java Hibernate Spring існуе некалькі спецыяльных генератараў:

  • Increment.
  • Identity.
  • Sequence.
  • Hilo.
  • Seqhilo.
  • Uuid.
  • Guid.
  • Native.
  • Assigned.
  • Foreign.
  • sequence-identity.

Перавагі выкарыстання Java Hibernate Spring:

  • Простая структура механізмаў ўзаемасувязі з БД і POJO.
  • Аўтаматычная генерацыя кампанентаў Primary Key.
  • HQL.
  • Кэш: Second level, Session Level і, вядома ж, Query.
  • Добрая прадукцыйнасць.
  • Выбарка Outer Join.

Практыка для пачаткоўцаў

Адным з саміх простых тэкставых праектаў на Java Spring з'яўляецца напісанне прыкладання "прывітанне". Платформа не патрабуе дадатковай рэгістрацыі або якіх-небудзь складаных канструкцый і формаў на bootstrap. Выкарыстоўваем просты html без дынамікі. І няхай асноўная форма мае:

  • Поле для ўводу тэксту "прывітанне".
  • Клавішу "стварыць запіс", пры націску на якую наш тэкст будзе адпраўляцца на апрацоўку і захоўвацца ў БД.
  • Спіс, які будзе адлюстроўваць раней стварэнне запісу.

Больш нам нічога не трэба. Пераходзім да Java Spring. практыка:

  • Зразумелая справа, усталюйце на свой кампутар Java.
  • Пастаўце мавен.
  • Стварыце праект Spring-boot.
  • Усталюйце БД.
  • Размяркуеце класы мадэляў. Лепш за ўсё стварыце нейкі адзін.
  • Рэалізуецца аперацыю з кампанентамі з дапамогай create-read-update-delete.
  • Стварыце форму на jsp.
  • Прывяжыце сваю форму да адпаведнага кантролеру.

Што такое MVC, і якім чынам яно звязана са Spring

MVC - гэта ўласная платформа "Спринга", якая арыентавана на запыты карыстальнікаў. У ёй зададзены статыстычны выгляд для ўсіх функцый запытнымі-арыентыровачных сістэм. Заданне кожнага інтэрфейсу павінна быць простым і лаканічным, каб карыстальнік па жаданні мог без праблем зноўку імплементаваць прыкладання. Дадзеная платформа пракладае прамое падключэнне да front-end-коду. Усе інтэрфейсы звязаныя з аб'ектам Servlet API. Дзякуючы гэтай ўзаемасувязі значна спрашчаецца праграмаванне прыкладання.

Да найбольш важных інтэрфейсам можна аднесці:

  • Model - мадэль, дадзеныя.
  • View - адлюстраванне, знешні выгляд.
  • Controller - кіраванне, ўсталяванне ўзаемасувязі паміж першымі двума паняццямі.

Да найбольш важных інтэрфейсам можна аднесці:

  • HandlerAdapter.
  • Controller.
  • View.
  • HandlerMapping.
  • ViewResolver.
  • HandlerInterceptor.
  • LocaleResolver.
  • MultipartResolver.

Java Spring MVC (model-view-controlle) адкрывае перад распрацоўшчыкам шмат дадатковых магчымасцяў:

  • Дакладнае і простае падзел паміж запытамі.
  • Кожны інтэрфейс адказвае выключна за сваю частку працы.
  • Інтэрфейс можна без праблем змяніць з дапамогай альтэрнатыўнай рэалізацыі.
  • Усе інтэрфейсы звязаны з API Servlet.
  • Павышаны ўзровень эфектыўнасці і функцыянальнасці для вэб-прыкладанняў.
  • Магчымасць выкарыстоўваць розныя часткі "Спринга", а не толькі MVC (model-view-controlle).

асноўны пакет

Асноўны пакет з'яўляецца найбольш фундаментальнай часткай сістэмы і забяспечвае магчымасць ўкаранення залежнасцяў, дазваляе кіраваць боба-функцыянальнасцю кантэйнера. Асноўнай канцэпцыяй тут з'яўляецца BeanFactory, якая забяспечвае шаблон фабрыкі, ліквідуе неабходнасць у праграмнай падтрымцы Сінглтан і дазваляе аддзяліць канфігурацыю і спецыфікацыю залежнасцяў ад фактычнай логікі праграмы.

Пакет DAO прадастаўляе JDBC-ўзровень абстракцыі, што пазбаўляе ад неабходнасці рабіць стомнае JDBC-кадаваньне і разбор базы дадзеных пастаўшчыка кодаў канкрэтных памылак. Акрамя таго, можна зрабіць праграмнае, а таксама дэкларатыўнае кіраванне транзакцыямі не толькі для класаў, якія рэалізуюць інтэрфейсы, але і для ўсіх вашых Pojos (простых аб'ектаў Java).

Пакет ORM забяспечвае інтэграцыю слаёў папулярных API для адлюстравання рэляцыйных аб'ектаў, уключаючы JDO, Hibernate і Ibatis. Выкарыстоўваючы пакет ОРМ, вы можаце ўжываць усе O / R-картографы ў спалучэнні з іншымі функцыямі Spring-прапановы.

АОП-пакет у Spring забяспечвае сумяшчальны аспект арыентаванага праграмавання, рэалізацыі АОП Alliance, які дазваляе вызначыць, напрыклад, метад-перахопнік і адвязаць код рэалізацыі функцыянальных магчымасцяў.

Ужываючы метададзеныя на ўзроўні зыходных тэкстаў, можна ўключыць усе віды паводніцкай інфармацыі ў код, напрыклад NET-атрыбуты.

Вэб-пакет Spring забяспечвае асноўныя вэб-функцыі інтэграцыі, такія як шматчастковы функцыянальнасць, ініцыялізацыя кантэкстаў з ужываннем сэрвлета слухачоў і кантэксту вэб-арыентаваных прыкладанняў. Рэалізацыя ў Spring MVC забяспечвае выразны падзел паміж мадэллю кода дамена і вэб-формай, што дазваляе выкарыстоўваць усе іншыя асаблівасці Spring Framework для праверкі.

Патрабаванні да даменным аб'ектах

Для таго каб прыкладання JPA нармальна функцыянавала, неабходна сачыць за карэктнасцю напісання такіх патрабаванняў:

  • "Джавы" -бином або POJO.
  • Клас не павінен спадчыну (не быць final).
  • Прапісаны канструктар. Стандартна ідзе без якіх-небудзь параметраў.
  • Напісаць Implements Serializable. Гэта неабходна для таго, каб кампаненты захоўваліся ў кэшы ў спецыяльным выглядзе.
  • Прапісаць ідэнтыфікацыю ўсіх палёў, то ёсць аб'екты не могуць захоўвацца ў БД, калі ў іх няма Primary key.
  • Наяўнасць атрыбутаў.
  • У getters прапісаць канкрэтную спасылку на калекцыю аб'ектаў, а не яе копію. Непажадана выкарыстоўваць масівы, так як, калі неабходна вярнуць наш Array, трэба прапісваць яго копію. Акрамя таго, досыць складана ад масіва спадчыну.
  • Азнаёміцца з літарай. Перад пачаткам працы ў Java Spring вам неабходна разабраць ў многіх тэрмінах і значэннях тых ці іншых функцый. Прасцей кажучы, атрымаць хоць найменшыя паняцця, што гэта такое і з чым яго ўжываюць.
  • Паспрабаваць напісаць самастойна адну з простых задач. Напрыклад, прыкладанне _ПРИВЕТ_, "змейка" ці якое-небудзь іншае.
  • Азнаёміцца з WEB. Лепш за ўсё ў гэтым дапамогуць онлайн-курсы. Калі не хочаце, то бярыцеся зноў за кнігі і разбірайцеся ўжо з новымі паняццямі самастойна.
  • Спрабуйце ўскладніць простыя задачкі _привет_ больш складанымі канструкцыямі. Таксама рэкамендуем паспрабаваць напісаць простае прыкладанне, якое магло б спатрэбіцца вам у рэальным жыцці. Так вам прасцей будзе здужаць дадзены метад праграмавання.

Дапаможныя групы аб'ектаў

Існуе некалькі дадатковых класаў:

  • "Спринг Дао". Гэты клас дапамагае працаваць з БД (базамі дадзеных).
  • Спрининг транзакцый. Як правіла, пры напісанні прыкладання ва ўсіх выпадках выкарыстоўваецца Transaction Manager. Пасля таго, як карыстальнік вызначыў метады, транзакцыі будуць дадавацца, аўтаматычна стварацца і завяршацца.
  • Спрининг Security. Дадзены клас задае аўтарызацыю карыстальніка (лагін, пароль і т. Д). Рацыянальна ствараць як мінімум 10 Біном для таго, каб дамагчыся падвышанай эфектыўнасці ў функцыянальнасці Security.

Расшыфроўка асноўных абрэвіятур ў Java Spring

Знаёмячыся з такім спецыфічным сцэнар метадам праграмавання, як "Джавы спринг", можна сустрэць розныя абрэвіятуры. Як правіла, не на ўсіх сайтах ці ў падручніках можна знайсці іх расшыфроўку, таму давайце разбярэмся, што ёсць Java Spring. прыклад:

  • Inversion of Control - IoC - інверсія кантролю або, прасцей кажучы, галоўны модуль прыкладання.
  • АОП - аспектно-Арыентыровачны праграмаванне. Дзякуючы гэтаму модулю "Джавы" можа без праблем падключыцца да любога пункта доступу і прапісаць там неабходны код.
  • MVC - Model-view-controller - гэта структураваны шаблон, які задае і апісвае спосаб пабудовы канструкцыі ўсяго прыкладання, забяспечвае ўзаемадзеянне ўсіх частак у адной сістэме. Стварае аб'екты web.
  • Клас WEB прызначаны для таго, каб палегчыць распрацоўку аўтарызацыі фреймворка, адказвае за доступ да бинам і т. Д.
  • ORM- Object-Relational Mapping - звязвае БД (базы дадзеных) з канцэпцыямі аб'ектаў-арыентыровачных метадаў праграмавання, ствараючы новую віртуальную базу дадзеных.
  • DAO прызначаны для працы з базамі дадзеных у структуры "Спринга".
  • Service Abstraction - задае інтэрфейсы (знешняй выгляд) прыкладання, то ёсць адказвае за абстрагаванне задачы.

Сёння можна знайсці досыць шмат карыснай і цікавай інфармацыі па Java Spring. Ўрокі, падручнікі, вэб-семінары абавязкова дапамогуць вам без праблем вывучыць дадзены скрыптовы мова праграмавання. Калі ў вас узніклі якія-небудзь праблемы з напісаннем прыкладання, перагледзьце дакументацыю па "Спрингу", у якой аўтары досыць дэталёва апісалі ўсе патрабаванні да структуры "Джавы", а таксама адказалі на пытанні, як выправіць часта здзяйсняюцца памылкі.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 be.birmiss.com. Theme powered by WordPress.