|
0 / 0 / 0
Регистрация: 11.12.2014
Сообщений: 49
|
|||||||||||||||||||||
Spring Boot и чайник. Ошибка зависимости при создании бина02.12.2018, 20:46. Показов 3054. Ответов 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|