|
0 / 0 / 0
Регистрация: 11.12.2014
Сообщений: 49
|
|||||||||||||||||||||
Spring Boot и чайник. Ошибка зависимости при создании бина02.12.2018, 20:46. Показов 2956. Ответов 4
Метки нет (Все метки)
Приветствую, уважаемые форумчане. Начала осваивать яву буквально пару недель назад, поэтому, прошу понять, простить и помочь))
Пишу в NetBeans, если это вдруг важно. Было простое мавен приложение, задача - переделать его в спринг бут. Добавила зависимости в pom, сделала класс PropertyReader, который из модели вытаскивает нужные данные. Долго думала, для чего же нужен PropertyService.. Решила объявить его, как интерфейс. Так же проблема была с понимаем значения слова "заинжектить ".... Поняла его, как вставить)) Короче вот пункты, которые я попробовала реализовать, но с ними возникли проблемы. ---------------------------------------------------------------------------------------------------------------- - Сделать класс, отвечающий за получение данных из .properties файлов, Spring бином (Дальше данный класс будет упоминаться как PropertyReader, у себя можно использовать любое другое название) - Создать класс - PropertyService с методом отвечающим за получение данных , сделать его Spring бином, заинжектить в него PropertyReader и в методе получения данных сервиса вызвать метод чтения данных класса PropertyReader - Сделать класс, отвечающий за генерацию html файла (Далее HtmlGenerator) Spring бином, заинжектить в него сервис (PropertyService) и в методе генерации html файла использовать метод получения данных сервиса (PropеrtyService) ---------------------------------------------------------------------------------------------------------------- При запуске получаю ошибку. Кликните здесь для просмотра всего текста
21:32:05.347 [main] WARN org.springframework.context.annotation.A nnotationConfigApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.Unsati sfiedDependencyException: Error creating bean with name 'propertyReader' defined in file [C:\Users\Zver\Documents\NetBeansProjects \Java15final\java15klon\target\classes\c om\mycompany\resume\PropertyReader.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuch BeanDefinitionException: No qualifying bean of type 'java.lang.String' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
21:32:05.347 [main] DEBUG org.springframework.beans.factory.suppor t.DefaultListableBeanFactory - Destroying singletons in org.springframework.beans.factory.suppor t.DefaultListableBeanFactory@4501b7af: defining beans [org.springframework.context.annotation.i nternalConfigurationAnnotationProcessor, org.springframework.context.annotation.i nternalAutowiredAnnotationProcessor,org. springframework.context.annotation.inter nalRequiredAnnotationProcessor,org.sprin gframework.context.annotation.internalCo mmonAnnotationProcessor,org.springframew ork.context.event.internalEventListenerP rocessor,org.springframework.context.eve nt.internalEventListenerFactory,htmlGene rator,javaApplication1,propertyReader,or g.springframework.boot.autoconfigure.Aut oConfigurationPackages,org.springframewo rk.boot.autoconfigure.context.PropertyPl aceholderAutoConfiguration,org.springfra mework.boot.autoconfigure.condition.Bean TypeRegistry,propertySourcesPlaceholderC onfigurer,org.springframework.boot.autoc onfigure.jackson.JacksonAutoConfiguratio n$Jackson2ObjectMapperBuilderCustomizerC onfiguration,standardJacksonObjectMapper BuilderCustomizer,spring.jackson-org.springframework.boot.autoconfigure.j ackson.JacksonProperties,org.springframe work.boot.context.properties.Configurati onPropertiesBindingPostProcessor,org.spr ingframework.boot.context.properties.Con figurationPropertiesBindingPostProcessor .store,org.springframework.boot.autoconf igure.jackson.JacksonAutoConfiguration$J acksonObjectMapperBuilderConfiguration,j acksonObjectMapperBuilder,org.springfram ework.boot.autoconfigure.jackson.Jackson AutoConfiguration$JacksonObjectMapperCon figuration,jacksonObjectMapper,org.sprin gframework.boot.autoconfigure.jackson.Ja cksonAutoConfiguration,jsonComponentModu le,org.springframework.boot.autoconfigur e.validation.ValidationAutoConfiguration ,defaultValidator,methodValidationPostPr ocessor,org.springframework.boot.autocon figure.jmx.JmxAutoConfiguration,mbeanExp orter,objectNamingStrategy,mbeanServer,o rg.springframework.boot.autoconfigure.co ntext.ConfigurationPropertiesAutoConfigu ration,org.springframework.boot.autoconf igure.web.HttpMessageConvertersAutoConfi guration$StringHttpMessageConverterConfi guration,stringHttpMessageConverter,spri ng.http.encoding-org.springframework.boot.autoconfigure.w eb.HttpEncodingProperties,org.springfram ework.boot.autoconfigure.web.JacksonHttp MessageConvertersConfiguration$MappingJa ckson2HttpMessageConverterConfiguration, mappingJackson2HttpMessageConverter,org. springframework.boot.autoconfigure.web.J acksonHttpMessageConvertersConfiguration ,org.springframework.boot.autoconfigure. web.HttpMessageConvertersAutoConfigurati on,messageConverters,org.springframework .boot.autoconfigure.info.ProjectInfoAuto Configuration,spring.info-org.springframework.boot.autoconfigure.i nfo.ProjectInfoProperties,org.springfram ework.boot.autoconfigure.web.MultipartAu toConfiguration,multipartConfigElement,m ultipartResolver,spring.http.multipart-org.springframework.boot.autoconfigure.w eb.MultipartProperties,org.springframewo rk.boot.autoconfigure.web.WebClientAutoC onfiguration$RestTemplateConfiguration,r estTemplateBuilder,org.springframework.b oot.autoconfigure.web.WebClientAutoConfi guration]; root of factory hierarchy 21:32:05.347 [main] DEBUG org.springframework.beans.factory.suppor t.DisposableBeanAdapter - Invoking destroy() on bean with name 'org.springframework.boot.context.proper ties.ConfigurationPropertiesBindingPostP rocessor' Exception in thread "main" org.springframework.beans.factory.Unsati sfiedDependencyException: Error creating bean with name 'propertyReader' defined in file [C:\Users\Zver\Documents\NetBeansProjects \Java15final\java15klon\target\classes\c om\mycompany\resume\PropertyReader.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuch BeanDefinitionException: No qualifying bean of type 'java.lang.String' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} at org.springframework.beans.factory.suppor t.ConstructorResolver.createArgumentArra y(ConstructorResolver.java:749) at org.springframework.beans.factory.suppor t.ConstructorResolver.autowireConstructo r(ConstructorResolver.java:189) at org.springframework.beans.factory.suppor t.AbstractAutowireCapableBeanFactory.aut owireConstructor(AbstractAutowireCapable BeanFactory.java:1193) at org.springframework.beans.factory.suppor t.AbstractAutowireCapableBeanFactory.cre ateBeanInstance(AbstractAutowireCapableB eanFactory.java:1095) at org.springframework.beans.factory.suppor t.AbstractAutowireCapableBeanFactory.doC reateBean(AbstractAutowireCapableBeanFac tory.java:513) at org.springframework.beans.factory.suppor t.AbstractAutowireCapableBeanFactory.cre ateBean(AbstractAutowireCapableBeanFacto ry.java:483) at org.springframework.beans.factory.suppor t.AbstractBeanFactory$1.getObject(Abstra ctBeanFactory.java:306) at org.springframework.beans.factory.suppor t.DefaultSingletonBeanRegistry.getSingle ton(DefaultSingletonBeanRegistry.java:23 0) at org.springframework.beans.factory.suppor t.AbstractBeanFactory.doGetBean(Abstract BeanFactory.java:302) at org.springframework.beans.factory.suppor t.AbstractBeanFactory.getBean(AbstractBe anFactory.java:197) at org.springframework.beans.factory.suppor t.DefaultListableBeanFactory.preInstanti ateSingletons(DefaultListableBeanFactory .java:761) at org.springframework.context.support.Abst ractApplicationContext.finishBeanFactory Initialization(AbstractApplicationContex t.java:867) at org.springframework.context.support.Abst ractApplicationContext.refresh(AbstractA pplicationContext.java:543) at org.springframework.context.annotation.A nnotationConfigApplicationContext.<init> (AnnotationConfigApplicationContext.java :95) at com.mycompany.resume.JavaApplication1.ma in(JavaApplication1.java:15) Caused by: org.springframework.beans.factory.NoSuch BeanDefinitionException: No qualifying bean of type 'java.lang.String' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} at org.springframework.beans.factory.suppor t.DefaultListableBeanFactory.raiseNoMatc hingBeanFound(DefaultListableBeanFactory .java:1493) at org.springframework.beans.factory.suppor t.DefaultListableBeanFactory.doResolveDe pendency(DefaultListableBeanFactory.java :1104) at org.springframework.beans.factory.suppor t.DefaultListableBeanFactory.resolveDepe ndency(DefaultListableBeanFactory.java:1 066) at org.springframework.beans.factory.suppor t.ConstructorResolver.resolveAutowiredAr gument(ConstructorResolver.java:835) at org.springframework.beans.factory.suppor t.ConstructorResolver.createArgumentArra y(ConstructorResolver.java:741) ... 14 more ------------------------------------------------------------------------ BUILD FAILURE ------------------------------------------------------------------------ Total time: 3.112s Finished at: Sun Dec 02 21:32:05 GMT+04:00 2018 Final Memory: 8M/145M ------------------------------------------------------------------------ Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (default-cli) on project Resume: Command execution failed. Process exited with an error: 1 (Exit value: 1) -> [Help 1] To see the full stack trace of the errors, re-run Maven with the -e switch. Re-run Maven using the -X switch to enable full debug logging. For more information about the errors and possible solutions, please read the following articles: [Help 1] http://cwiki.apache.org/conflu... nException Выкладываю основные файлы.
0
|
|||||||||||||||||||||
| 02.12.2018, 20:46 | |
|
Ответы с готовыми решениями:
4
Инициализация бина в Spring |
|
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
|
||
| 02.12.2018, 21:23 | ||
|
Предоставленный вами код намекает на второй вариант.. Ну да ладно не буду читать нотации Тут проблем на самом деле несколько: 1. Вам нужно определиться вам нужно базовый spring или все же spring boot 2. Если spring boot, то там ApplicationContext создается другим способом. 3. Вам нужно почитать что такое dependency injection 4. Почтитать что такое бины, как они создаются как их можно инжектить в другие бины. 5. Узнать чем отличается аннотация @Service от @Component и почему ей не нужно аннотировать интерфейс. Ну это то что с первого взгляда бросилось в глаза, даже не вникая в суть задания и кода.
0
|
||
|
0 / 0 / 0
Регистрация: 11.12.2014
Сообщений: 49
|
||
| 02.12.2018, 21:35 [ТС] | ||
|
0
|
||
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|||
| 03.12.2018, 04:21 | |||
|
Просто поправить не вариант, надо все убрать и переписать по-людски. В качестве примера смотри https://github.com/spring-proj... -petclinic
0
|
|||
|
0 / 0 / 0
Регистрация: 11.12.2014
Сообщений: 49
|
|
| 03.12.2018, 11:31 [ТС] | |
|
Да и конструктор там был, и контекст не передавался. С этой ошибкой я столько всего переворотила, значит, было правильно у меня, ну или близко к этому. Спасибо, буду пытаться.
0
|
|
| 03.12.2018, 11:31 | |
|
Помогаю со студенческими работами здесь
5
Spring. Аннотации. Внедрение бина через сеттер в методе main Spring MVC. 404 ошибка при включении Spring Data JPA в проект Spring: а как вы разрешаете зависимости для spring ? Ошибка при инициализации сервиса в представлении Vaadin [Spring-boot] При загрузке компьютера ошибка: Reboot and Select proper Boot device or Insert Boot Media in selected Boot device and press a kay Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|