22 Често постављана питања и одговори на интервјуу за Спринг Боот

Да ли сте Јава Спринг Боот програмер који се радује предстојећем интервјуу, али нисте сигурни која питања можете очекивати? Ту смо да помогнемо!

Овај чланак ће вам помоћи да се адекватно припремите тако што ћете изложити неколико често постављаних питања за Спринг Боот интервју и одговоре које анкетари могу користити да вас тестирају.

Анкетари користе стратешка Јава Спринг Боот питања да тестирају нивое вештина испитаника релевантних за њихову улогу. Зато се морате припремити са релевантним питањима и знати како да на њих одговорите.

Пре него што пређемо право на питања за интервју и њихове одговарајуће одговоре, хајде да покријемо основни преглед онога што је Спринг Боот и колико је он користан за Јава програмере.

Преглед садржаја

Шта је Јава Спринг Боот?

Овај Јава оквир је креиран од стране кључног тима 2014. Спринг Боот, који је оквир отвореног кода, ефикасно развија апликације које су независне, производног квалитета, а такође могу да раде на Јава виртуелној машини (ЈВМ).

Јава програмери га преферирају за развој веб апликација и микросервиса због брзог и једноставног процеса подешавања и безбедног времена конфигурисања.

Лако подешавање и конфигурисање апликација заснованих на Спринг-у од стране Спринг Боот-а могуће је са његове три основне могућности које укључују:

  • Аутоконфигурација – што је аутоматска конфигурација Спринг апликације.
  • Спринг Боот пружа убеђен приступ подразумеваним подешавањима конфигурације за коришћење и пакетима за инсталацију за потребне зависности. Овакав приступ без обзира на став помаже у брзом постављању пројеката.
  • Спрсетупоот вам омогућава да независно покренете своју апликацију без потребе за веб сервером.

Како Спринг Боот помаже Јава програмерима?

Као прво, Јава програмерима који користе Спринг Боот лакше је са аутоматском конфигурацијом свих компоненти потребних за развој Спринг апликације производне класе. Ово, дугорочно гледано, смањује време развоја и на крају повећава њихову ефикасност.

Спринг Боот се такође лако интегрише са Спринг-овим екосистемом, који укључује Спринг ЈДБЦ, Спринг Дата, Спринг Сецурити и Спринг ОРМ.

Јава програмери такође могу да повежу Спринг Боот са различитим базама података као што су Орацле, МиСКЛ, ПостгреСКЛ и МонгоДБ, између осталих.

Наравно, флексибилне конфигурације са КСМЛ конфигурацијама, Јава Беанс-овима и трансакцијама базе података су међу осталим корисним функцијама.

Стога, сада када имате основни преглед Спринг Боот-а, дозволите нам да размотримо нека од често постављаних питања и одговора на Спринг Боот интервјуу који ће вам помоћи да се припремите за интервју.

Питања и одговори на интервјуу за Спринг Боот

Које су неке карактеристике Спринг Боот-а?

Неке од ових популарних функција укључују:

  • Спринг Боот ЦЛИ обезбеђује Гроови за писање Спринг Боот апликације; дугорочно гледано, избегава се шаблонски код.
  • Спринг Боот обезбеђује евидентирање и безбедносну функцију која лако штити вашу апликацију од потенцијалних безбедносних претњи.
  • Омогућава аутоматску конфигурацију релевантних компоненти за ваш пројекат, чиме се избегава ризик од непотребних ВАР датотека.
  • Почетни иницијализатор поставља подразумевану интерну структуру пројекта за вас. На овај начин не морате ручно да постављате структуру пројекта.
  • Функција покретача Спринг Боот даје приступ увидима и метрикама док апликација ради.
  • Наравно, једна од кључних функција Спринг Боот-а, Стартер Депенденци, помаже да се агрегирају уобичајене зависности одређене функције.
  Како користити команду сед на Линуку

Шта су Спринг Боот Стартерс?

Спринг Боот стартери су дескриптори зависности који укључују скуп добављача управљања зависношћу који омогућавају зависности апликације. Они пружају оквир са резолуцијом аутоматске зависности. Стартери побољшавају лак и брз развој.

Шта је актуатор у Спринг Боот-у и које су његове предности?

Покретач је једна од функција Спринг Боот-а која вам омогућава да пратите шта се дешава унутар апликације док она ради.

Током отклањања грешака, на пример, можете да користите актуатор за анализу дневника тако што омогућава приступ функцијама као што су коришћење ЦПУ-а и идентификација беан-а.

Поред тога, актуатор не само да пружа лак приступ РЕСТ крајњим тачкама спремним за производњу, које надгледају и управљају информацијама, већ и преузимају податке са веба.

Шта је тхимелеаф и како користити тхимелеаф?

Тхимелеаф је Јава шаблон на страни сервера који креира природан изглед шаблона за Спринг и ХТМЛ5 Јава веб апликације.

Спринг Боот ће извршити аутоматску конфигурацију тхимелеаф-а користећи зависност спринг-боот-стартер-тхимелеаф у пом.кмл датотеци за послуживање динамичког веб садржаја.

Да бисте омогућили Спринг Боот-у да чита и приказује тхимелеаф шаблоне или ХТМЛ датотеке, поставите шаблоне у срц/маин/ресоурцес/темплатес.

Тхимелеаф затим анализира индек.хтмл датотеку и користи стварне вредности које проследите из класе контролера уместо динамичких вредности доступних у датотеци индекса.

Након тога, порука се приказује у веб претраживачу чим се покрене апликација Спринг Боот.

org.springframework.boot spring-boot-starter-thymeleaf

Опишите процес креирања Спринг Боот пројекта користећи Спринг Инитиализер.

Спринг Инитиализр, који је Спринг веб алат, омогућава вам да креирате Спринг Боот пројекат користећи неколико корака пружањем детаља о пројекту.

  • Пређите на Спринг интиализр и попуните поља за унос.
  • Кликом на дугме Генериши започеће преузимање пројекта.
  • Извуците преузети пројекат из зип датотеке и отворите га из свог ИДЕ-а. Из ИДЕ-а идите на Филе->Нев->Пројецт фром постојећи извори->Спринг-боот-апп, а затим изаберите датотеку пом.кмл. Кликните на промпт за промене увоза да би се пројекат синхронизовао. Након овога, не заборавите да одете на датотеку апплицатион.пропертиес и уредите број сервер.порт у сервер.порт=7000.
  • Сада покрените апликацију са срц->маин->јава->цом.гфг.Спринг.боот.апп
  • Шта је ЈПА у Спринг Боот-у?

    Ово је спецификација у Јави која користи мапирање објеката и односа (ОРМ) за управљање релационим подацима и омогућава приступ подацима између Јава објекта или Јава класе и релационе базе података апликације.

    ЈПА користи Јава Персистент Куери Лангуаге (ЈПКЛ), објектно оријентисани језик упита који је такође независан од платформе.

    ЈПА дозвољава обраду упита и трансакције објеката према бази података користећи Ентити Манагер АПИ који пружа.

    Шта је аутоматска конфигурација у Спринг Боот-у?

    Аутоматска конфигурација настоји да аутоматизује конфигурацију Спринг Боот апликације користећи јар зависности које додајете апликацијама.

    У зависности од доступних зависности у Цласспатх-у апликације, ауто-конфигурација ће декларисати уграђене објекте модула специфичне за спринг, укључујући ЈПА и сигурност спринг, између осталог.

    Шта су пролећне напомене?

    Пролећне напомене се односе на метаподатке који нуде информације о фрагменту програма и додају додатне податке том програму. Компоненте кода, укључујући класе и методе, често су повезане са напоменама.

    Напомене не утичу директно на рад програма или на накнадну радњу преведеног кода.
    Њихова синтакса почиње симболом ‘@’.

    Спринг Боот пружа шест главних типова напомена које укључују:

    • Спринг Цоре Аннотатионс
    • Спринг Дата Аннотатионс
    • Пролећни пасуљ напомене
    • Пролећне веб напомене
    • Пролећне напомене о планирању
    • Пролећне напомене о покретању

    Шта значи Спринг Дата РЕСТ?

    Спринг Дата РЕСТ излаже ресурсе у РЕСТфул-у који су око Спринг Дата Ресоурцес користећи минималан код.

    Следећи пример користи метод ПОСТ да захтева садржај користећи хттп://лоцалхост/екампле као УРЛ и Цонтент-Типе: апплицатион/јсон као заглавље.

    Садржај захтева:

    {
        "name": "Jimmy",
        "Gender": "Male",
        "Age": 23
    }

    Садржај одговора:

    {
        "name": "Jimmy",
        "Gender": "Male",
        "Age": 23
        "_links": {
            "self": {
                "href": "http://localhost:8080/example/1"
            },
            "person": {
                "href": "http://localhost:8080/example/1"
             }
        }
    }

    Ово је широк скуп унапред дефинисаних алата чија се својства примењују на одговарајућа развојна окружења како би се олакшао развој и уштедило време за развој.

      12 Виртуелних канцеларијских решења за ваше пословање

    Кад год промените код у апликацији Спринг Боот, функција Спринг Боот ДевТоолс се аутоматски поново покреће. Стога вам штеди невоље да ручно поново покренете апликацију сваки пут када промените свој код.

    Шта су Спринг Дата?

    Спринг дата настоји да омогући програмерима лак приступ технологијама за приступ подацима као што су релациони и нерелациони подаци и услуге података засноване на облаку, јер настављају да држе посебне особине основног складишта података.

    Како рећи аутоматској конфигурацији да се повуче када постоји беан?

    Овде ћете користити напомену @ЦондитионалОнМиссингБеан, која укључује атрибут имена и вредности на следећи начин.

    • атрибут вредности чува тип граха за проверу
    • наме атрибут који именује бин за проверу

    Како преузети податке из базе података у Спринг Боот-у?

    Можемо приступити подацима из МиСКЛ базе података нашој Спринг Боот апликацији користећи следеће кораке.

    Корак 1: Користите команду цреате ДАТАБАСЕ персон да бисте креирали базу података у МиСКЛ-у.

    Корак 2: У бази података креирајте табелу:

    CREATE TABLE person(id INT PRIMARY KEY NOT NULL AUTO_INCREMENT, name VARCHAR(255));

    Корак 3: Сада креирајте Спринг Боот апликацију, а затим јој додајте ЈДБЦ, МиСКЛ и потребне веб зависности.

    Корак 4: Конфигуришите базу података из датотеке апплицатион.пропертиес као испод.

    spring.datasource.url=jdbc:mysql://localhost:3306/personDetails
    spring.datasource.username=example123
    spring.datasource.password=example123
    spring.jpa.hibernate.ddl-auto=create-drop

    Корак 5: Затим, хајде да обрадимо захтеве у класи контролера:

    package com.person;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.jdbc.core.JdbcTemplate;
    import org.springframework.web.bind.annotation.RestController;
    @RestController
    public class JdbcController {
       @Autowired
       JdbcTemplate jdbc;
       @RequestMapping("/save")
       public String index(){
          jdbc.execute("insert into person (name)values(Trial)");
          return "Name entered Successfully";
       }
    }

    На крају, покрените апликацију док проверавате унос базе података да бисте видели приступ подацима.

    Зашто су нам потребни Спринг Профили?

    Спринг Профили омогућавају одвајање конфигурације апликације од различитих делова и користе их за специфичан развој.

    Спринг Профили такође штеде програмеру муке управљања спољашњим конфигурацијама специфичним за окружење ако Спринг профили нису били доступни.

    Поред тога, ово би отежало одржавање синхронизације и значило би додатну потребу за писањем неколико фабричких компоненти које би користиле одређене потребне ствари у зависности од специфичних параметара специфичних за окружење.

    Можемо ли да променимо порт уграђеног Томцат сервера у Спринг боот-у?

    Да можемо.

    Ово се ради тако што се манипулише датотеком апплицатион.пропертиес да укључи својство сервер.порт и додели јој порт по вашем избору. Спринг Боот аутоматски учитава датотеку са својствима апликације и примењује потребне конфигурације на апликацију.

    На пример, можете променити број сервер.порт са подразумеване вредности 8080 на сервер.порт= 8081.

    Како конфигуришете Лог4ј за евидентирање?

    Са ових неколико једноставних корака, можемо да конфигуришемо Лог4ј за евидентирање:

  • Прво направите свој Јава пројекат, а затим кликните десним тастером миша на пројекат. Идите на МиЕцлипсе->Датотека->Ново->Јава пројекат да дате назив пројекту и кликните на Заврши.
  • Затим кликните десним тастером миша на име вашег Јава пројекта и изаберите путању изградње -> Конфигуриши путању изградње. Овај корак ће додати датотеку лог4ј.
  • Идите до библиотеке и кликните на дугме Додај екстерни ЈАРС и изаберите датотеку лог4ј из падајућег менија који се појави. Затим кликните на ОК.
  • Креирајте нову јава датотеку коју ћете позвати датотеку лог4ј.пропертиес, а затим кликните на заврши и додајте ову датотеку у Цласспатх.
  • Кликните на Адванцед у Цласспатх-у, затим изаберите опцију Додај фасцикле и не заборавите да кликнете на ОК.
  • Сада можете потражити датотеку лог4ј.пропертиес, кликнути на ОК и покренути пројекат.
  • Проверите конзолу за излаз испод.
  • [main] DEBUG Example – Hello this is a debug message
    [main] INFO Example – Hello this is an info message

    Шта је ИоЦ контејнер?

    Контејнер ИоЦ (Инверзија контроле) је основни Спринг контејнер који аутоматски имплементира ињекцију зависности. Инстанцира апликацију класе и одговоран је за конфигурацију објеката и склапање потребних зависности.

    Такође управља животним циклусом објекта од његовог инстанцирања до његовог уништења.

    ИоЦ обавља ове задатке користећи конфигурацију метаподатака у Јава коду, КСМЛ-у и Јава напоменама.

    Контејнер се назива Инверзија контроле јер контролише Јава објекте и животни циклус ових објеката. То је иначе задатак програмера.

      8 најбољих алата за аналитику е-трговине за трговце

    Објасните како да направите Спринг Боот апликацију користећи Мавен

    Овај процес подразумева низ корака.

    Корак 1: Изаберите тип пројекта.

    Корак 2: Именујте свој пројекат да бисте га конфигурисали, а затим кликните на дугме Заврши да бисте креирали пројекат.

    Корак 3: Сада ћемо конфигурисати датотеку пом.кмл из Мавен пројекта да од ње креирамо Спринг Боот пројекат.

    пом.кмл датотека:

    <project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">  
      <modelVersion>4.0.0</modelVersion>  
      <groupId>com.javatpoint</groupId>  
      <artifactId>spring-boot-example</artifactId>  
      <version>0.0.1-SNAPS<name>JavaTpoint Spring Boot Example</name>  
    </project>  

    Конфигурација укључује додавање родитеља пројекту Мавен. Ово ће Мавен пројекат прогласити као подређени пројекат надређеном пројекту.

    <parent>  
        <groupId>org.springframework.boot</groupId>  
        <artifactId>spring-boot-starter-parent</artifactId>  
        <version>1.4.2.RELEASE</version>  
    </parent>  

    Корак 4: Затим додајте веб зависност, спринг-боот-стартер-веб, у пом.кмл.

    <dependencies>  
        <dependency>  
            <groupId>org.springframework.boot</groupId>  
            <artifactId>spring-boot-starter-web</artifactId>  
        </dependency>  
    </dependencies>  

    Корак 5: Додајте Јава верзију пројекта.

    <properties>  
        <java.version>1.8</java.version>  
    </properties> 

    Корак 6: Имајте на уму да сваки пут када додате нове зависности, морате да ажурирате Мавен пројекат.

    Корак 7: Учините Мавен пројекат изводљивим креирањем Јава класе унутар срц/маин/јава пакета.

    Корак 8: Затим позовите статички метод покретања класе Спринг апликације.

    Корак 9: На крају, покрените класу као Јава апликацију.

    Које су предности Спринг Боот-а у односу на Спринг?

    • Способност покретања покретања Спринг Боот-а да компајлира изворни језик користећи Боот иницијализатор, технику која се зове боотстраппинг, омогућава уштеду простора на уређајима корисника и такође смањује време учитавања апликације.
    • За разлику од Спринг, Спринг Боот дозвољава управљање зависностима након додавања зависности спринг-боот без зависности од надређеног ПОМ (родитељски објектни модел) или КСМЛ датотеке.
    • Спринг Боот такође омогућава програмерима да користе напомене или КСМЛ конфигурације без потребе да користе КСМЛ конфигурације.
    • Програмери преферирају Спринг Боот због његовог смањеног стандардног кода потребног за постављање апликације. То је зато што Спринг Боот долази са базом података у меморији и уграђеним Томцат сервером, што смањује основни код. Пролеће, с друге стране, има више шаблонског кода.
    • Спринг Боот не захтева нужно ВАР (ресурс веб апликације) датотеке и може се ослонити само на ЈАР (Јава ресурс), који има малу и једноставнију структуру и стога је кориснији за кориснике и програмере.
    • Спринг Боот такође аутоматски уграђује сервере као што су Томцат и Јетти; стога, програмер не мора ручно да подешава сервер као што би требало да урадите у пролеће.

    Процес пагинације дели податке на секције ради уштеде ресурса. Садржи два поља, величину странице и број странице.

    Процес укључује неколико корака, укључујући:

    Корак 1: Почетно подешавање
    Цонсисетупн ентитет ћемо назвати Персон као класу домена.

    @Entity 
    public class Person {
        @Id
        private long id;
        private String name; 
    }

    Корак 2: Креирање спремишта
    Затим користите ПерсонРепоситори проширује ПагингАндСортингРепоситори да бисте могли да добијете методе финдАлл(Пагеабле пагеабле) и финдАлл(Сорт сорт) за странице и сортирање, респективно.

    public interface PersonRepository extends PagingAndSortingRepository<Person, Integer> {
        List<Product> findAllByPrice(double price, Pageable pageable);
    }

    Корак 3: Корак пагинације
    Први корак овде укључује креирање ПагеРекуест објекта; прослеђивањем броја странице и величине странице као што је затражено која имплементира интерфејс за страницу.

    Pageable firstPageWithTwoElements = PageRequest.of(0,2);
    Pageable secondPageWithThreeElements = PageRequest.of(1,3);

    Затим проследите овај објекат ПагеРекуест методу спремишта као параметар.

    Page<Person> allProducts = personRepository.findAllByPrice(findPageWithTwoElements);
    List<Items> allTwoDollarItems = itemsRepository.findAllByPrice(2, secondPageThreeElements) 

    Подразумевано, метода финдАлл(Пагеабле пагеабле) враћа објекат Паге<Т>.

    Објасните како да региструјете прилагођену аутоматску конфигурацију

    Испод датотеке МЕТА-ИНФ/спринг.фацториес кључа @ЕнаблеАутоЦонфигуратион наведите потпуно квалификовано име. Овај корак региструје класу ауто-конфигурације.

    org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.baeldung.autoconfigure.CustomAutoConfiguration

    Изградња пројекта помоћу Мавен-а захтеваће од вас да поставите датотеку у директоријум ресоурцес/МЕТА-ИНФ.

    Шта је боотстраппинг у Спринг Боот-у?

    Боотстраппинг је процес извршавања логике у Спринг Боот апликацији при покретању.
    Боот инитиализр компајлира изворни језик у Спринг Боот-у. Овај процес штеди простор на уређају и такође смањује време учитавања апликације.

    Завршне речи 👨‍💻

    Па, овај чланак је покрио нека питања о Спринг Боот-у која ће вам анкетари вероватно поставити током интервјуа и одговоре који ће вам помоћи да са самопоуздањем одговорите. Надамо се да ћете добити посао из снова!

    Можда ћете желети да научите неколико релевантних савета из питања постављених током интервјуа за Јава.

    Срећно!🙂