JavaRush /Блоги Java /Random-TG /Кофе-брейк №75. Афзалиятҳо ва нуқсонҳои истифодаи Spring ...

Кофе-брейк №75. Афзалиятҳо ва нуқсонҳои истифодаи Spring Boot. Функсияҳо барои сатрҳо дар Java

Дар гурӯҳ нашр шудааст

Афзалиятҳо ва нуқсонҳои истифода аз Boot Spring

Сарчашма: Dev.to Spring Boot як чаҳорчӯбаи кушодаи Java дар асоси Java мебошад, ки аз ҷониби Pivotal Software таҳия шудааст. Суръат ва осонии истифодаи он онро як ҳалли маъмул барои эҷоди бойгонии барномаҳои веб (WAR) ва барномаҳои мустақor Java табдил додааст. Кофе-брейк №75.  Афзалиятҳо ва нуқсонҳои истифодаи Spring Boot.  Функсияҳо барои сатрҳо дар Java - 1Spring Boot дар байни чаҳорчӯбаҳои дигар фарқ мекунад, зеро он ба таҳиягарони нармафзор бо мутобиқсозии чандир, коркарди пурқуввати партия, ҷараёни самараноки корӣ ва асбобҳои фаровоне медиҳад, ки барои таҳияи барномаҳои мустаҳкам ва миқёспазир дар асоси баҳор мусоидат мекунанд.

Муқаддима ба Boot Spring

Вақте ки сухан дар бораи Spring Boot меравад, аввалин чизеро, ки бояд қайд кард, ин аст, ки Spring Boot ва Spring Framework технологияҳои гуногун мебошанд. Баҳор як экосистемаи пурраи рушди Java мебошад, аз ҷумла шумораи зиёди модулҳои тайёр, ба монанди Spring MVC, Spring JDBC, Spring Security ва ғайра. Spring Boot, аз тарафи дигар, як тавсеаи Spring мебошад, ки барои сохтани барномаҳои ба микросервисҳо асосёфта истифода мешавад. Ба шарофати мавҷудияти як қатор хусусиятҳо, он раванди рушдро осон ва суръат мебахшад, онро самараноктар мекунад.

Танзимоти худкор

Автоконфигуратсия як усули кор дар Spring Boot аст, ки шумораи қадамҳои таҳиягаронро бояд кам кунад. Он ба таври худкор барномаи Spring-ро дар асоси вобастагии қаблан иловашуда танзим мекунад. Автоконфигуратсияи Spring Boot ба таври нобаёнӣ якчанд хусусиятҳои мустаҳкамро бо нигоҳ доштани чандирии бузург пешниҳод мекунад.

Вобастагӣ ба андеша

Андеша маънои онро дорад, ки худи Spring Boot маҷмӯи лӯбиёҳои танзимшудаи пешфарзро муайян мекунад, ки шумо метавонед дар ҳолати зарурӣ аз нав сабт кунед. Ғайр аз он, ин чаҳорчӯба бастаҳоро барои насб дар асоси вобастагӣ ба шумо интихоб мекунад. Ҳамин тариқ, таҳиягарони Spring Boot фавран ба сохтани замимаҳои худ шурӯъ карда, ба мантиқи тиҷорӣ диққати бештар медиҳанд, зеро аксари корҳоро худи чаҳорчӯб анҷом медиҳад.

Серверҳои воридшуда

Сервери дарунсохт як қисми барнома мебошад. Ин маънои онро дорад, ки ба шумо лозим нест, ки онро дар муҳити густариши худ пешакӣ насб кунед. Spring Boot ба таври нобаёнӣ serverи дохorи Tomcat-ро пешниҳод мекунад, аммо шумо метавонед онро ба Jetty ё Undertow иваз кунед. Серверҳои дарунсохт ба густариши бештар муассир имкон медиҳанд ва вақти аз нав оғоз кардани барномаро кам мекунанд.

Офлайн кор кунед

Spring Boot ба таҳиягарон имкон медиҳад, ки замимаҳои мустақor дараҷаи истеҳсолиро бидуни ҷойгиркунии онҳо дар serverи веб танзим ва иҷро кунанд. Барои иҷро кардани барномаи муқаррарии Java, он бояд бастабандӣ, интихоб, боргузорӣ ва ҳамчун веб-server танзим карда шавад ва ҷойгир карда шавад. Замимаи Java, ки дар Spring Boot сохта шудааст, танҳо бояд бастабандӣ карда шавад ва он гоҳ он бо истифода аз фармонҳои оддӣ барои кор омода аст.

Микросервисҳо чист ва чаро онҳоро эҷод мекунанд?

Таҳияи замимаҳои Spring Boot бо хидматрасониҳои хурд алоқаманд аст, ки дар эҷоди замимаҳои сабук ва барои иҷро омода кумак мекунанд. Микросервисҳо як усули меъмории нармафзор мебошанд, ки ба таҳиягарон имкон медиҳад, ки codeи барномаро дар қисмҳои мустақил ва идорашаванда нависед ва интиқол диҳанд. Илова бар ин, хидматрасонии микроэлементҳо ба таҳиягарон манфиатҳои дигари иловагиро пешкаш мекунанд:
  • ҷойгиркунии осонтар ва тезтар;
  • нигоҳдории осонтар;
  • баланд бардоштани самаранокӣ;
  • таҳаммулпазирии беҳтар ба хатогиҳо;
  • миқёспазирии беҳтар.

Оё шумо бояд баҳорро омӯзед?

Дар ҳоле, ки Баҳор як чаҳорчӯбаи мураккаб бо хатти хеле тӯлонии омӯзиш аст, Spring Boot роҳи осонтари ғарқ шудан ба экосистемаи баҳор аст. Бо пешниҳоди автоматизатсияи бештар, Spring Boot ба таҳиягарон кӯмак мекунад, ки аз конфигуратсияи дастӣ дилгирона канорагирӣ кунанд, хатҳои омӯзишро коҳиш диҳанд ва зудтар ба натиҷаҳои муваффақ ноил шаванд. Гарчанде ки Spring Boot аз шумо омӯхтани Баҳор, такмил додани малакаҳои рушди худро талаб намекунад, барои фаҳмидани баъзе ҷузъиёти дохorи Spring Boot, ба монанди тазриқи вобастагӣ, чӣ гуна конфигуратсияҳо ва ғайра баргаштан ба Spring Essentials муфид аст. дар.

Манфиатҳои пойафзоли баҳорӣ

Spring Boot барои кӯмак расонидан ба барномасозон барои суръат бахшидан ба раванди рушди онҳо тарҳрезӣ шудааст. Он насби ибтидоӣ ва танзими муҳити ҷойгиркунии вақтро аз байн мебарад. Афзалиятҳои асосии Spring Boot:
  • Таҳияи зуд ва осони барномаҳо бо истифода аз Spring.
  • Конфигуратсияи худкори ҳамаи ҷузъҳо барои барномаи Spring Spring.
  • Серверҳои дарунсохташуда (Tomcat, Jetty ва Undertow) барои тезтар ва самараноктар ҷойгиркунии барномаҳо.
  • Нуқтаҳои ниҳоии HTTP, ки ба шумо имкон медиҳанд, ки функсияҳои дохorи барномаро, аз қабor метрика, вазъи саломатӣ ва ғайра ворид кунед.
  • Конфигуратсияи XML нест.
  • Интихоби зиёди плагинҳо, ки барои таҳиягарон кор бо пойгоҳи додаҳои дохилӣ ва хотираро осон мекунанд.
  • Дастрасии осон ба пойгоҳи додаҳо ва хидматҳои навбатдорӣ ба монанди MySQL, Oracle, MongoDB, Redis, ActiveMQ ва ғайра.
  • Интегратсияи бефосила бо экосистемаи баҳор.
  • Ҷамъияти калон ва барномаҳои зиёди омӯзишӣ барои осон кардани давраи шиносоӣ.

Камбудиҳои Boot Spring

  • Набудани назорат. Spring Boot бисёр вобастагиҳои истифоданашударо эҷод мекунад, ки дар натиҷа файли васеъи ҷойгиркунӣ ба вуҷуд меояд.
  • Раванди мураккаб ва вақтталаби табдил додани лоиҳаи меросӣ ё мавҷудаи Spring ба замимаҳои Spring Boot.
  • Барои лоиҳаҳои калон мувофиқ нест. Ба гуфтаи бисёре аз таҳиягарон, сарфи назар аз набудани мушкилот ҳангоми кор бо микросервисҳо, Spring Boot барои эҷоди барномаҳои монолитӣ мувофиқ нест.

Биёед онро чамъбаст кунем

Spring Boot як ҷузъи ҷудонашавандаи экосистемаи Java шудааст, ки маҷмӯи асбобҳои муассир ва миқёспазирро барои сохтани замимаҳои Spring бо меъмории хидматрасонии микросервис пешниҳод мекунад. Бо танзимоти пешфарз барои санҷишҳои воҳид ва ҳамгироӣ, он ба таҳиягарон имкон медиҳад, ки равандҳои таҳия ва густаришро суръат бахшанд. Гузашта аз ин, Spring Boot ба таҳиягарон кӯмак мекунад, ки замимаҳои мустаҳкамро бо конфигуратсияҳои равшан ва бехатар созанд, бе сарфи вақти зиёд ва кӯшиши зиёд барои омӯзиши бештар дар бораи Баҳор. Барои муайян кардани он, ки оё ин ҳалли эҳтиёҷоти лоиҳаи Java-и шумо мувофиқат мекунад, афзалиятҳо ва нуқсонҳои Spring Boot, хусусиятҳои асосии онро фаҳмед ва онҳоро бо ҳадафҳои тиҷоратии худ ҳамоҳанг созед. Бо ин роҳ шумо метавонед шубҳаҳоро аз байн баред ва беҳтарин роҳи ширкати худро интихоб кунед.

Функсияҳо барои сатрҳо дар Java

Сарчашма: DZone Дар ин паём, шумо мефаҳмед, ки чӣ гуна беҳтар истифода бурдани функсияҳои сатри Java-и дарунсохт барои барномасозии тезтар, муассиртар ва аз ҷиҳати эстетикӣ ҷолибтар истифода мешавад.Кофе-брейк №75.  Афзалиятҳо ва нуқсонҳои истифодаи Spring Boot.  Функсияҳо барои сатрҳо дар Java - 2

String чист?

Аввалан мо бояд фаҳмем, ки сатр чист. Одатан он истифода мешавад:
  • Агар шумо хоҳед, ки сатри худро ҳамчун як сатр бинед, на ҳамчун маҷмӯи аломатҳо.
  • Агар шумо матни дароз дошта бошед ва ба шумо лозим аст, ки бо калимаҳо кор кунед, на ҳарфҳо.
  • Агар шумо маълумоти зиёд дошта бошед, ба шумо хусусиятҳое лозиманд, ки мушкилотро ҳарчи зудтар ҳал кунанд.

Чӣ гуна сатр ба назар мерасад:

String line;

Дарозии сатр метавонад гуногун бошад:

String line = new String[any length];

Гирифтани сатр аз консол:

Scanner in = new Scanner(System.in);

String line = in.nextLine();

Гирифтани мавқеъ

Агар ба шумо мавқеи ягон аломат лозим бошад, indexOf(...) -ро истифода баред . Он арзиши ададии (мавқеи) аломатро бармегардонад (аввал агар онҳо такрор шаванд), дар қавс навишта шудаанд.
int pos = line.indexOf('any symbol');
Дар хотир доред, ки ' ' барои аломатҳо ва " " барои сатрҳо (маҷмӯи аломатҳо) аст.

Бурида

Пас аз он ки шумо мавқеи худро доред, шумо метавонед сатрро нест кунед. Масалан, агар шумо line="Hello-World" дошта бошед ва мехоҳед line="Hello World" гиред , пас шумо метавонед "-"-ро кӯтоҳ кунед.

Функсияҳо

substring(...) Дар ин ҷо дар қавс (мавқеи оғоз, мавқеи ниҳоӣ);. Бо ин роҳ шумо аз мавқеи 0 ба мавқеи '-' кӯтоҳ мекунед. Дар ин ҷо мавқеи 5. Ҳамин тавр, он рӯй медиҳад newline = line.substring(0,5); Пас аз он мо "дум"-и сатри худро илова мекунем ("Ҷаҳон"). хатти нав += line.substring(6, line.length()); length() Дарозӣ шумораи аломатҳои сатри шуморо назорат мекунад. Ҳамин тариқ, он метавонад ҳамчун мавқеи ниҳоӣ дар зерсатр истифода шавад. Equals(...) Агар мо хоҳем, ки ду сатрро муқоиса кунем, мо баробар(...) -ро истифода мебарем . Он тағирёбандаи логикиро бармегардонад, бинобар ин натиҷа метавонад ҳақиқӣ ё бардурӯғ бошад. Он асосан бо изҳороти if истифода мешавад .
if (line.isEmpty()) {
    System.out.println("Your line is empty");
}
matches() Агар шумо хоҳед, ки баъзе қисмҳоро (бо истифода аз намунаҳо) муқоиса кунед, на сатрҳои пурра, matches() -ро истифода баред . Намунаҳо ифодаҳои муқаррарӣ мебошанд. match() тағирёбандаи мантиқиро бармегардонад, бинобар ин онҳо асосан бо изҳороти if истифода мешаванд .
if (line.matches ("\\d{3}") {
    System.out.println("Your line contains 3 numbers");
}
Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION