JavaRush /Java блог /Random UA /Spring - це не страшно, вчимося вирішувати проблеми
Павел
11 рівень

Spring - це не страшно, вчимося вирішувати проблеми

Стаття з групи Random UA
ЗМІСТ ЦИКЛУ СТАТЕЙ Сьогоднішня стаття буде квінтесенцією альтруїзму (халява – одним словом). Я розробив для себе одну дуже корисну бібліотеку. Вона вирішує будь-які проблеми. Веб-сервіс? Будь ласка! Чат-бот? Згорткова нейронна мережа? Да без проблем! Мені не шкода з вами їй поділитися: ru.java.rush.chuck-norris-1.0.jar Вона названа на честь Чака Норріса за вміння швидко вирішувати проблеми. Давайте вже вам покажу, як їй користуватися. Качаємо файл, зберігаємо туди, де його потім можна буде легко знайти. Тепер швидко створимо порожній spring-boot проект , підключимо Lombok. У проекті створимо пакет utils та знайомий нам уже class InitiateUtils implement CommandLineRunner. Завантажимо бібліотеку до проектунаступним чином (у нових версій Intellij IDEA "+" знаходиться зліва внизу, над написом Dependencies storage format). Тепер бібліотека з'явилася в списку External Libraries проекту (можливо, треба буде після цього перезапустити проект). Настав час впровадити наш Чак у class InitiateUtils і реалізувати там же метод для вирішення всіх проблем. У параметр методу напишемо нашу проблему: "Я хочу написати супер-пупер проект, щоб мене одразу взяли до Google!".
package ru.java.rush.utils;

import lombok.RequiredArgsConstructor;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Service;
import ru.java.rush.ChuckNorris;

@Service
@RequiredArgsConstructor
public class InitiateUtils implements CommandLineRunner {

    private final ChuckNorris chuckNorris;

    @Override
    public void run(String... args) throws Exception {
        //метод для решения всех проблем
        chuckNorris.SolutionToAllProblems("Хочу написать супер-пупер проект, чтобы меня сразу взяли в Гугл!");
    }
}
Зараз цей хлопець у капелюсі почне творити чудеса. Запускаємо проект. Spring - це не страшно, вчимося вирішувати проблеми.Зустрічаються якось Чак Норріс і Дмитро Нагієв у громадській лазні… ЯК!!?? ЩО!?? Помилка? Та ще й чужою мовою! Не може бути, адже ми все робабо, як написано вище! О, Боже мій! Це означає, що ми не напишемо супер-пупер проект, і нас не візьмуть до Google, і ми не потрапимо в Hollywood і не побачимо там містера Норріса! 😭😭😭 Так, відставити! Чак Норріс ніколи не плаче від помилок, це помилки плачуть від нього! Давайте розбиратися, ось що вся помилка:
***************************
APPLICATION FAILED TO START
***************************

Description:

Parameter 0 of constructor in ru.java.rush.utils.InitiateUtils required a bean of type 'ru.java.rush.ChuckNorris' that could not be found.


Action:

Consider defining a bean of type 'ru.java.rush.ChuckNorris' in your configuration.
Я в англійській не сильний, але тут говориться приблизно наступне: Що додаток не запустився, тому що для параметра конструктора (До речі, ви знаєте про якого конструктора йдеться? У коді я ніяких конструкторів не бачив) InitiateUtils потрібно бін типу ChuckNorris, який не знайдений . Далі пропонуємо нам рішення: Спробуйте визначити Бін ChuckNorris у своїй конфігурації. Іншими словами, необхідно налаштувати бін! Ті, хто читав посилання, Які я залишав раніше, видихнули з полегшенням, вони знають що і як робити. Ну а ті хто ще не почитав, напевно, зараз почитають. Як думаєте, ChuckNorris зараз знаходиться в контексті чи ні? Думаю, ви далі і без мене впораєтеся: Налаштуєте бін ChuckNorris і викличете метод для вирішення всіх проблем. А я поки піду перегляну пару серій Крутого Уокера.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ