0 / 0 / 0
Регистрация: 10.10.2023
Сообщений: 22
|
||||||
Spring Boot или Spring MVC?10.02.2024, 12:42. Показов 1702. Ответов 12
Добрый день форумчане. Прошу совета у опытных коллег знающих и работающих с фреймворком Spring.
Недавно решил сделать проект для портфолио: типовое CRUD-приложение, по учёту продуктов и магазинов, в которых они продаются. Я недолго изучаю Spring, и разумеется, столкнулся с тем, что не знаю по какой конфигурации делать приложение: Spring MVC или Spring Boot. Я уже делал рабочее приложение с использованием Spring MVC, по туториалу. Так же я делал приложение Spring Boot, тоже по туториалу, но оно не работало по нормальному, да и сам туториал был не особо информативен. Прошерстив кое-какие гайды, мне показалось, что Boot более предпочтительная, так как с нею работают и Hybernate и Spring Data и Spring Security, чего не скажешь про MVC. В любом случае, я только начал делать проект, и указал в нём следующие зависимости:
Заранее благодарю
0
|
10.02.2024, 12:42 | |
Ответы с готовыми решениями:
12
Spring или EE Актуален ли Spring 3 ?
|
156 / 62 / 16
Регистрация: 12.12.2023
Сообщений: 389
|
|
10.02.2024, 17:22 | |
Что то тут много от спринга полного, теряется смысл спригбута как именно упрощенного набора. Там минимальный набор собственно
<groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> ну и для тестов <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId>
1
|
156 / 62 / 16
Регистрация: 12.12.2023
Сообщений: 389
|
||||||
11.02.2024, 05:37 | ||||||
Ну когда-нибудь вы может и весь функционал спринга постепенно подтянете, но для старта вам нужен единственный артифакт spring-boot-starter-web и вы уже получаете готовое работающее приложение, никаких даже xml с конфигом не надо, аннотаций достаточно, очень низкий порог вхождения
0
|
156 / 62 / 16
Регистрация: 12.12.2023
Сообщений: 389
|
|
11.02.2024, 10:11 | |
![]() Решение
Так boot для того и нужен чтобы со всем этим не париться, все готово из коробки, томкат тоже встроен. И бины где то в отдельном конфиге не нужно перечислять, он их сам по всем классам во всех подкаталогах ищет.
Когда с ним уже после спринга знакомишься - впечатляет. Очень много сахара. Добавлено через 14 минут ps. Все-таки как я сваливать в один файл и старт и конфиг и рест конечно не дело, это просто для краткости цитирования
1
|
0 / 0 / 0
Регистрация: 10.10.2023
Сообщений: 22
|
|
12.02.2024, 16:16 [ТС] | |
Добавил. И spring-boot-starter-data-jpa и postgresql. В консоли вылезает вот это:
Кликните здесь для просмотра всего текста
Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. 2024-02-12T18:14:43.298+03:00 ERROR 49444 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPLICATION FAILED TO START *************************** Description: Field userRepository in ru.MrEnthropy.GorodaBotDemo.service.Tele gramBot required a bean of type 'ru.MrEnthropy.GorodaBotDemo.model.UserR epository' that could not be found. The injection point has the following annotations:- @org.springframework.beans.factory.annot ation.Autowired(required=true) Action: Consider defining a bean of type 'ru.MrEnthropy.GorodaBotDemo.model.UserR epository' in your configuration. Бот не запускается. У многих такое, но как это решить ума не приложу теперь
0
|
156 / 62 / 16
Регистрация: 12.12.2023
Сообщений: 389
|
||||||
12.02.2024, 16:24 | ||||||
Не могу догадаться что именно вы пытаетесь сделать, но вот в таком минималистичном варианте уже работает
0
|
0 / 0 / 0
Регистрация: 10.10.2023
Сообщений: 22
|
|
12.02.2024, 16:59 [ТС] | |
У меня почти так же, и всё равно не работает.
Для наглядности, я прикреплю ссылку с примером, по которому я учусь: https://www.youtube.com/redire... Asq3rB4zZw Там у меня почти идентично, только я использую PostgreSQL вместо MySQL
0
|
156 / 62 / 16
Регистрация: 12.12.2023
Сообщений: 389
|
|
12.02.2024, 17:24 | |
Ну могу только предположить что вы там перемещали файлы местами и/или переименовывали пакаджи
Если у вас в итоге UserRepository находится не в том же пакадже что файл с аннотацией @SpringBootApplication или в его подпакадже то тогда нужно либо вернуть иерархию в правильный вид либо в явном виде указать список пакаджей которые следует сканировать @SpringBootApplication(scanBasePackages= {"a.b.c", "d.e.f"}) Смысл в том что если файл с аннотацией @SpringBootApplication (это не обязательно тот же в котором main(), вы можете их разделить) лежит в пакадже "org.example" то все что лежит в "org.example" и в "org.example.x" просканится, а вот "org.secondmodule.*" проигнорится Поэтому если вы скажем переместили SpringDemoBotApplication или его аналог из корня "для порядка" куда-нибудь в подкаталог то верните его обратно
0
|
0 / 0 / 0
Регистрация: 10.10.2023
Сообщений: 22
|
|
14.02.2024, 08:46 [ТС] | |
Всё. Решил. Видимо какой-то неочевидный сбой в иерархии пакетов. Начал проект заново, всё пошло как надо
0
|
14.02.2024, 08:46 | |
Помогаю со студенческими работами здесь
13
Оптимизация кода Spring Веб-магазин (Spring)
Spring Boot mvc Spring MVC. 404 ошибка при включении Spring Data JPA в проект Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Реализация многопоточных сетевых серверов на Python
py-thonny 16.05.2025
Когда сталкиваешься с необходимостью писать высоконагруженные сетевые сервисы, выбор технологии имеет критическое значение. Python, со своей элегантностью и высоким уровнем абстракции, может. . .
|
C# и IoT: разработка Edge приложений с .NET и Azure IoT
UnmanagedCoder 16.05.2025
Мир меняется прямо на наших глазах, и интернет вещей (IoT) — один из главных катализаторов этих перемен. Если всего десять лет назад концепция "умных" устройств вызывала скептические улыбки, то. . .
|
Гибридные квантово-классические вычисления: Примеры оптимизации
EggHead 16.05.2025
Гибридные квантово-классические вычисления — это настоящий прорыв в подходах к решению сложнейших вычислительных задач. Представьте себе союз двух разных миров: классические компьютеры, с их. . .
|
Использование вебсокетов в приложениях Java с Netty
Javaican 16.05.2025
HTTP, краеугольный камень интернета, изначально был спроектирован для передачи гипертекста с минимальной интерактивностью. Его главный недостаток в контексте современных приложений — это. . .
|
Реализация операторов Kubernetes
Mr. Docker 16.05.2025
Концепция операторов Kubernetes зародилась в недрах компании CoreOS (позже купленной Red Hat), когда команда инженеров искала способ автоматизировать управление распределёнными базами данных в. . .
|
Отражение в C# и динамическое управление типами
stackOverflow 16.05.2025
Reflection API в . NET — это набор классов и интерфейсов в пространстве имён System. Reflection, который позволяет исследовать и манипулировать типами, методами, свойствами и другими элементами. . .
|
Настройка гиперпараметров с помощью Grid Search и Random Search в Python
AI_Generated 15.05.2025
В машинном обучении существует фундаментальное разделение между параметрами и гиперпараметрами моделей. Если параметры – это те величины, которые алгоритм "изучает" непосредственно из данных (веса. . .
|
Сериализация и десериализация данных на Python
py-thonny 15.05.2025
Сериализация — это своего рода "замораживание" объектов. Вы берёте живой, динамический объект из памяти и превращаете его в статичную строку или поток байтов. А десериализация выполняет обратный. . .
|
Чем асинхронная логика (схемотехника) лучше тактируемой, как я думаю, что помимо энергоэффективности - ещё и безопасность.
Hrethgir 14.05.2025
Помимо огромного плюса в энергоэффективности, асинхронная логика - тотальный контроль над каждым совершённым тактом, а значит - безусловная безопасность, где безконтрольно не совершится ни одного. . .
|
Многопоточные приложения на C++
bytestream 14.05.2025
C++ всегда был языком, тесно работающим с железом, и потому особеннно эффективным для многопоточного программирования. Стандарт C++11 произвёл революцию, добавив в язык нативную поддержку потоков,. . .
|