Щирица запрокинутая полезные свойства


Щирица запрокинутая фото и лечебные свойства

Щирица запрокинутая в народе считается сорняком, но не всем известно что она также и обладает рядом лечебных свойств которые из давних времён используются при лечении некоторых заболеваний. В основном щирица запрокинутая используется при лечении болезней ЖКТ и как кровоостанавливающее средство.

Щирица запрокинутая описания растения

Амарант запрокинутый является ежегодным растением, ростом до 0,9 м. Кореневище щирицы розоватого цвета. Узнать щирицу можно по цветкам — они мелкие, желтовато-зеленого цвета.

Не морозостойкая. Цветет с июля по сентябрь, а семена созревают с августа по октябрь. Цветки однодомные (раздельные цветки мужского или женского начала, но оба пола могут быть найдены на одном растении) и опыляются ветром. Растение самоопыляется. Выращивания: светлые (песчаные), средние (суглинистые) и тяжелые (глинистые) почвы, а также предпочитает хорошо дренированные почвы. Подходящие рН: кислые, нейтральные и щелочные почвы и могут расти в очень кислых и очень щелочных почвах.
Щирица не может расти в тени. Она предпочитает влажную почву и может переносить засуху.
Замечена во всех районах. Семейство амарантов включает еще 4 вида, которые встречаются на всей территории страны. Растет на огородах и полях, в районе дорог. Считается сорняком.

Съедобные части: листья; семена.

Кулинарное применения щирицы:

Молодые листья — сырые или готовят как шпинат. Имеют мягкий вкус, и часто смешивают с более сильными ароматизированными листьями. Амарант богат железом, он также является хорошим источником витаминов А и С.

Семена — сырые или вареные. Их растирали в порошок и использовали в качестве заменителя зерновых, его также некоторые добавляют в салаты. Семена очень мелкие, около 1 мм в диаметре, но легко собираются и очень питательные. Вкус значительно улучшится если семена обжарить перед размолом. Их часто добавляют в кукурузную муку. Семена можно приготовить целиком, и они становятся желеобразными, таким образом, некоторые из семян будут проходить прямо через пищеварительную систему, не ассимилируясь.

Применения Амаранта

Растение используют для народной медицины как кровоостанавливающее средство при некоторых легочных, кишечных, геморроидальных и маточных кровотечениях. Иногда рекомендуется принимать водные настои лечебной травы при поносе, болях в кишечнике или запоре.

Способ применения щирицы

Терпкий чай из листьев как вяжущее. Он используется при лечении обильной менструации, кишечного кровотечения, диареи и т.д. Настой используется для лечения охриплости.
Измельчить траву щирицы запрокинутой, добавить от 1 до 3-х ст. л. в полный стакан с кипятком, настоять около часа, после чего надо процедить. Принимать в течение дня 3 раза, до еды (разделить прием полученного состава на 3 раза ровными частями).
1 ст.л. сухих измельченных листьев добавить в стакан воды, далее варить 2-3 мин., после настоять 1 час, и обязательно процедить. Принимать по пол стакана 3-4 раза в день, перед едой.

Другие виды использования

Из целого растения получают желтые и красные красители. Как и многие другие виды Amaranthus, это растение может быть вредным и даже смертельным при кормлении крупного рогатого скота и свиней в больших количествах. Тем не менее, при поставке в умеренных количествах, он рассматривается как исключительно питательный корм.

Фото щирицы запрокинутой и как бороться?

Данное растения считается сорняком, поэтому встречается крайне часто по всей территории. Не все знают что щирицу семейства «Амарант» можно использовать в народной медицине, и желают избавиться поскорее от назойливого растения-сорняка.
Есть некоторые способы:
  • Тщательная очистка семенного материала.
  • Использования гербицидов.
  • Скосить траву до цветения.

Всегда можно выбрать вариант который Вам по нраву — использования в народной медицине или щирицу как сорняк уничтожить. Также всегда следует проконсультироваться с врачом насчет приема и доз. Будьте здоровы!

Автор: Андрей

Кандидат наук в области лесного хозяйства. Автор 3 патентов по уходу и выращиванию растений в домашних условиях. Автор более 30 научных статей в популярных исследовательских журналах. Просто любитель живой природы.

Выброшенный назад: причины, симптомы и лечение

Когда вы выбросите спину, вы почувствуете быстрое начало боли в пояснице. Боль может быть другой или хуже, если у вас хроническая боль в пояснице.

Часто эта боль возникает после тяжелой работы, такой как работа лопатой или подъем тяжелых предметов, или травмы.

Выпадение спины может отвлечь вас от обычных занятий на несколько дней. Вы можете задаться вопросом, нужно ли вам обращаться за неотложной помощью.

Продолжайте читать, чтобы узнать больше о том, что вы можете сделать, чтобы помочь своей спине дома, и когда пора обратиться к врачу.

Выпадение спины может вызвать следующие симптомы:

  • скованность в спине, которая мешает вам двигаться
  • сильная боль в пояснице
  • мышечные спазмы или интенсивные приступы напряжения и расслабления мышц
  • проблемы с поддержанием хорошей осанки

Когда боль начинается, она обычно не длится более 10–14 дней, если это острая травма. В противном случае симптомы могут быть хроническими.

Выпадение спины обычно означает, что вы напрягаете мышцы спины.Подъем тяжелых предметов или наклон вперед в неудобном положении - частые причины растяжения мышц. Боль, вызванная растяжением мышц, обычно возникает в области поясницы и не больше.

Некоторые из наиболее распространенных действий, вызывающих выброс спины, включают:

Выполнение одного или нескольких из этих действий может привести к травмам ряда структур, поддерживающих вашу спину, например:

  • связок
  • мышц
  • кровеносные сосуды
  • соединительные ткани

Даже незначительные повреждения, такие как небольшие разрывы в защитных позвоночных дисках, могут стимулировать нервы спины и приводить к воспалению и боли.

Большинство людей могут определить активность или травму, когда они выпячиваются.

Ваш врач начнет с того, что спросит вас о ваших симптомах, о том, что вы делали, когда заметили их, и что их ухудшает или улучшает. Они учтут ваши симптомы при постановке диагноза и рекомендации лечения.

Например, если ваша боль сильная или вызывает серьезные симптомы, такие как онемение ног или потеря контроля над мочевым пузырем, ваш врач обычно порекомендует дальнейшие анализы.Однако, если ваш врач подозревает растяжение спины, он может не рекомендовать визуализацию.

Визуализирующие исследования иногда могут выявить лежащие в основе травмы или другие причины боли в спине, например опухоль. Примеры визуализационных исследований, которые врач может порекомендовать, включают:

Если боль в спине не проходит через две недели или усиливается, возможно, вам придется перезвонить врачу, чтобы записаться на прием для дальнейшего тестирования.

Первое, что нужно сделать после того, как вы выбросили спину, - это отдохнуть. Отдых позволяет вашему телу исцеляться и уменьшать воспаление.Кроме того, боль, скорее всего, ограничит вашу повседневную активность сразу после того, как вы выбросите спину.

Слушайте свое тело, восстанавливаясь после травмы спины. Старайтесь не переусердствовать. В дополнение к отдыху вы можете попробовать следующие советы:

  • Прикладывайте покрытые тканью пакеты со льдом к пояснице на 10–15 минут. Не прикладывайте лед непосредственно к коже, так как он может повредить кожу.
  • Примите безрецептурные противовоспалительные препараты, такие как ибупрофен (Адвил) или напроксен натрия (Алив).Ацетаминофен (тайленол) может облегчить боль, но не является противовоспалительным средством.
  • Используйте специальные подушки или опоры для поясницы, чтобы снять напряжение со спины. Один из примеров - свернуть полотенце и положить его за изгиб нижней части спины. Врачи называют это поясничным валиком.
  • Спите с перекатом поясницы за спиной или с подушкой между ног, если вы спите на боку. Эти положения для сна могут снизить нагрузку на спину. Не спите на животе, так как это может усилить боль в спине.
  • Поговорите со своим врачом о том, может ли посещение мануального терапевта помочь вам при вашей травме.

Когда снова начинать движение

Примерно после одного-трех дней отдыха начните двигаться снова, чтобы предотвратить скованность и улучшить приток крови к травмированным мышцам.

Может помочь медленная, легкая растяжка и ходьба с шагом 10 минут. Примеры включают подтягивание коленей к груди или подтягивание прямых ног к груди.

Хотя одни занятия могут быть полезными, другие могут усилить боль в спине.Избегайте действий, которые включают:

  • поднятие тяжестей
  • сгибание в пояснице
  • скручивание позвоночника, например, удары по мячу для гольфа или теннисного мяча

В дополнение к домашнему лечению ваш врач может порекомендовать и прописать дополнительные процедуры. Примеры включают:

  • физиотерапия
  • более сильные противовоспалительные препараты, миорелаксанты или обезболивающие
  • инъекции стероидов

В редких случаях ваш врач может порекомендовать операцию для исправления травм.Возможно, у вас хроническая боль в спине, которая усугубилась из-за травмы.

Наличие сильных мышц спины и кора снижает вероятность того, что вы выбросите спину. К занятиям, которые могут помочь вам сохранить сильную спину и одновременно повысить гибкость, относятся пилатес, йога и тай-чи.

В дополнение к физической активности вы также можете по возможности носить защитное снаряжение, чтобы снизить вероятность травмы спины. Примеры включают пояс для тяжелой атлетики или спинной бандаж, обеспечивающий дополнительную поддержку.Доступны многие размеры и варианты.

Для получения дополнительной помощи проконсультируйтесь с сертифицированным персональным тренером или физиотерапевтом по поводу оптимальной осанки и безопасных упражнений.

Также не забывайте практиковать правильную осанку при подъеме тяжелых предметов, чтобы не повредить спину. Не забудьте:

  • Держите локти и руки как можно ближе к телу.
  • Согнитесь в коленях и поднимайте ноги, а не спину и мышцы спины.
  • Не перекручивайте спину при подъеме.
  • При подъеме не дергаться.
  • Отдохните, когда объект становится слишком тяжелым для продолжения подъема.

При подъеме тяжелых предметов всегда руководствуйтесь здравым смыслом. Если вы думаете, что нагрузка слишком велика, возможно, так оно и есть. Наймите другого человека, чтобы тот помог вам, или попробуйте использовать механические средства помощи, такие как тележки или специальные переноски.

Обратитесь за неотложной медицинской помощью при следующих симптомах, связанных с выпадением спины:

  • дисфункция мочевого пузыря или кишечника
  • онемение одной или обеих ног
  • слабость в ногах, из-за которой трудно стоять
  • лихорадка выше 101 .5 ° F (38,6 ° C)

Симптомы, которые не являются экстренными, но все же требуют немедленной медицинской помощи, включают:

  • травма, которая не уменьшилась при лечении в домашних условиях
  • боль или дискомфорт, которые продолжают мешает вашей повседневной жизни и деятельности

Если вы чувствуете, что с вашей спиной что-то не в порядке, лучше обратиться к врачу раньше, чем позже. Опять же, поговорите со своим врачом о том, могут ли вам помочь хиропрактики.

По данным Американской ассоциации неврологических хирургов, 90 процентов людей с растяжением или растяжением поясницы восстанавливаются после травмы в течение месяца.

В идеале вы можете лечить травму спины дома. Однако, если ваша боль усиливается или затрудняет выполнение повседневных дел, обратитесь к врачу.

.

Mock-функции · Jest

Mock-функции также известны как «шпионы», потому что они позволяют вам следить за поведением функции, которая косвенно вызывается каким-либо другим кодом, а не только проверять вывод. Вы можете создать фиктивную функцию с помощью jest.fn () . Если реализация не указана, при вызове фиктивная функция вернет undefined .

Методы


Номер ссылки

mockFn.getMockName ()

Возвращает строку фиктивного имени, установленную путем вызова mockFn.mockName (значение) .

mockFn.mock.calls

Массив, содержащий аргументы вызова всех вызовов, сделанных к этой фиктивной функции. Каждый элемент в массиве - это массив аргументов, переданных во время вызова.

Например: фиктивная функция f , которая вызывалась дважды, с аргументами f ('arg1', 'arg2') , а затем с аргументами f ('arg3', 'arg4') , будет иметь массив mock.calls , который выглядит так:

  [ ['arg1', 'arg2'], ['arg3', 'arg4'], ];  

mockFn.mock.results

Массив, содержащий результаты всех вызовов этой фиктивной функции. Каждая запись в этом массиве представляет собой объект, содержащий тип prop

.Параметры

- F # | Документы Microsoft

  • 4 минуты на чтение

В этой статье

Тип параметра в F # используется, когда фактическое значение может не существовать для именованного значения или переменной. Опция имеет базовый тип и может содержать значение этого типа или может не иметь значения.

Замечания

Следующий код иллюстрирует функцию, которая генерирует тип опции.

  let keepIfPositive (a: int) = if a> 0 then Some (a) else None  

Как видите, если вход a больше 0, создается Some (a) . В противном случае Нет .

Значение Нет. используется, когда опция не имеет фактического значения. В противном случае выражение Some (...) дает значение опции. Значения Some и None полезны при сопоставлении с образцом, так как в следующей функции существует , которая возвращает true , если параметр имеет значение, и false , если нет.

  пусть существует (параметр x: int) = сопоставить x с | Некоторые (x) -> правда | Нет -> ложь  

Использование опций

Параметры обычно используются, когда поиск не возвращает совпадающий результат, как показано в следующем коде.

  пусть rec tryFindMatch pred list = список совпадений с | голова :: хвост -> если пред (голова) затем некоторые (голова) иначе tryFindMatch перед хвостом | [] -> Нет // result1 - около 100, а его тип - int option.пусть результат1 = tryFindMatch (забавный элемент -> элемент = 100) [200; 100; 50; 25] // result2 равен None, а его тип - int option. пусть result2 = tryFindMatch (fun elem -> elem = 26) [200; 100; 50; 25]  

В предыдущем коде поиск выполняется рекурсивно. Функция tryFindMatch принимает функцию предиката pred , которая возвращает логическое значение, и список для поиска. Если элемент, удовлетворяющий предикату, найден, рекурсия завершается, и функция возвращает значение в качестве опции в выражении Some (head) .Рекурсия заканчивается при сопоставлении пустого списка. В этот момент значение head не было найдено, и None не возвращается.

Многие функции библиотеки F #, которые ищут в коллекции значение, которое может существовать, а может и не существовать, возвращают вариант типа . По соглашению, эти функции начинаются с префикса try , например Seq.tryFindIndex .

Параметры также могут быть полезны, когда значение может не существовать, например, если возможно, что при попытке создать значение будет выдано исключение.Следующий пример кода иллюстрирует это.

  открыть System.IO пусть openFile filename = пытаться let file = File.Open (имя файла, FileMode.Create) Некоторые (файл) с | ex -> eprintf "Исключительная ситуация с сообщением% s" ex.Message Никто  

Функция openFile в предыдущем примере имеет тип string -> File option , потому что она возвращает объект File , если файл открывается успешно, и None , если возникает исключение.В зависимости от ситуации перехват исключения вместо того, чтобы позволить ему распространяться, может оказаться неподходящим решением.

Кроме того, все еще можно передать null или значение, которое является пустым, в вариант Some опции. Обычно этого следует избегать, и обычно это происходит при обычном программировании на F #, но это возможно из-за природы ссылочных типов в .NET.

Свойства и методы опций

Тип параметра поддерживает следующие свойства и методы.

Имущество или метод Тип Описание
Нет 'Т вариант Статическое свойство, позволяющее создать значение параметра со значением Нет .
Нет болт Возвращает true , если опция имеет значение None .
IsSome болт Возвращает true , если параметр имеет значение, отличное от Нет .
Некоторые 'Т вариант Статический член, который создает параметр, значение которого не равно Нет .
Значение Возвращает базовое значение или генерирует System.NullReferenceException , если значение равно Нет .

Дополнительный модуль

Существует модуль Option, содержащий полезные функции, выполняющие операции с параметрами.Некоторые функции повторяют функциональность свойств, но полезны в контекстах, где функция необходима. Option.isSome и Option.isNone - это функции модуля, которые проверяют, содержит ли параметр значение. Option.get получает значение, если оно есть. Если значение отсутствует, генерируется System.ArgumentException .

Функция Option.bind выполняет функцию для значения, если оно есть. Функция должна принимать ровно один аргумент, а тип ее параметра должен быть типом опции.Возвращаемое значение функции - это другой тип параметра.

Дополнительный модуль также включает функции, соответствующие функциям, доступным для списков, массивов, последовательностей и других типов коллекций. Эти функции включают Option.map , Option.iter , Option. всего , Option.exists , Option.foldBack , Option.fold и Option.count . Эти функции позволяют использовать параметры как набор из нуля или одного элемента.Для получения дополнительной информации и примеров см. Обсуждение функций сбора в Списках.

Преобразование в другие типы

Опции можно преобразовать в списки или массивы. Когда опция преобразуется в любую из этих структур данных, результирующая структура данных имеет ноль или один элемент. Чтобы преобразовать параметр в массив, используйте Option.toArray . Чтобы преобразовать параметр в список, используйте Option.toList .

См. Также

.

Руководство по свойствам конфигурации Spring Boot для класса данных Kotlin | by billydharmawan

Когда вы посмотрите, как был написан DynamoConfigProperties , вы можете немного колебаться или подумать, что это немного беспорядочно (или некрасиво), поскольку мы объявили поля как var вместо val , несмотря на то, что что значения никогда не изменятся (или, я бы сказал, не должны измениться).

Кроме того, нам нужно предоставить значение по умолчанию либо пустую строку "" (или любую String , на самом деле) или null (для этого необходимо изменить тип полей в DynamoConfigProperties в Строка? ).

Если вы объявите их как val или не предоставите значение по умолчанию и запустите приложение, вы увидите следующую ошибку.

 2020-01-16 07: 21: 57.883 ПРЕДУПРЕЖДЕНИЕ 97395 --- [main] onfigReactiveWebServerApplicationContext: исключение во время инициализации контекста - отмена попытки обновления: org.springframework.beans.factory.UnsatisfiedDependencyException: ошибка создания bean-компонента с именем 'customerHandler' определен в файле [/ Users / billyde / demo / Dynamodemo / out / production / classes / io / codebrews / Dynamodemo / CustomerHandler.class]: неудовлетворенная зависимость, выраженная через параметр конструктора 0; вложенное исключение - org.springframework.beans.factory.UnsatisfiedDependencyException: ошибка при создании bean-компонента с именем 'customerRepo', определенным в файле [/Users/billyde/demo/dynamodemo/out/production/classes/io/codebrews/dynamodemo/CustomerRepo.class] : Неудовлетворенная зависимость, выраженная через параметр конструктора 0; вложенное исключение - org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка создания bean-компонента с именем 'DynamoClientProperties', определенным в файле [/ Users / billyde / demo / Dynamodemo / out / production / classes / io / codebrews / Dynamodemo / DynamoClientProperties.class]: неудовлетворенная зависимость, выраженная через параметр конструктора 0; вложенное исключение - org.springframework.beans.factory.UnsatisfiedDependencyException: ошибка при создании bean-компонента с именем 'DynamoConfigProperties', определенным в файле [/Users/billyde/demo/dynamodemo/out/production/classes/io/codebrews/dynamodemo/DynamoConfigProperties] : Неудовлетворенная зависимость, выраженная через параметр конструктора 0; вложенное исключение - org.springframework.beans.factory.NoSuchBeanDefinitionException: нет подходящего bean-компонента типа 'java.lang.String 'доступно: ожидается как минимум 1 bean-компонент, который квалифицируется как кандидат autowire. Аннотации зависимостей: {} 
2020-01-16 07: 21: 57.960 INFO 97395 --- [main] ConditionEvaluationReportLoggingListener: Ошибка при запуске ApplicationContext. Чтобы отобразить отчет об условиях, повторно запустите приложение с включенной отладкой.
2020-01-16 07: 21: 58.085 ОШИБКА 97395 --- [main] osbdLoggingFailureAnalysisReporter: *************************
ПРИЛОЖЕНИЕ НЕ ЗАПУСКАЕТСЯ
************************** Описание: Параметр 0 конструктора в io.codebrews.dynamodemo.DynamoConfigProperties требовал bean-компонента типа java.lang.String, который не удалось найти. Действие: Рассмотрите возможность определения bean-компонента типа java.lang.String в вашей конфигурации. Процесс завершился с кодом выхода 1

Вы можете видеть, что Spring жалуется на конструктор нашего DynamoConfigProperties . 😫

Думаю, нам просто нужно иметь дело с тем, насколько «уродливой» была написана наша конфигурация dataclass , не так ли? 🤷‍♂

НЕТ, мы этого не делаем. А вот и Spring Boot 2.2.x.RELEASE приходит на помощь. 😊

Использование аннотации ConstructorBinding для класса данных конфигурации

Если в вашем проекте используется платформа Spring Boot версии 2.2.0.RELEASE или выше, вы можете изменить способ записи DynamoConfigProperties следующим образом.

DynamoConfigProperties.kt с ConstructorBinding

Теперь продолжайте и снова запустите основную функцию приложения. Вы должны увидеть следующее исключение, которое вам бросят. 😦

 2020-01-16 13:29:03.367 WARN 87367 --- [main] onfigReactiveWebServerApplicationContext: исключение во время инициализации контекста - отмена попытки обновления: org.springframework.beans.factory.UnsatisfiedDependencyException: ошибка при создании bean-компонента с именем 'customerHandler', определенным в файле [/ Users / billyde / demo / Dynamodemo / out / production / classes / io / codebrews / Dynamodemo / CustomerHandler.class]: неудовлетворенная зависимость, выраженная через параметр конструктора 0; вложенное исключение - org.springframework.beans.factory.UnsatisfiedDependencyException: ошибка при создании bean-компонента с именем 'customerRepo', определенным в файле [/Users/billyde/demo/dynamodemo/out/production/classes/io/codebrews/dynamodemo/CustomerRepo.class]: неудовлетворенная зависимость, выраженная через параметр конструктора 0; вложенное исключение - org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка создания bean-компонента с именем 'DynamoClientProperties', определенным в файле [/ Users / billyde / demo / Dynamodemo / out / production / classes / io / codebrews / Dynamodemo / DynamoClientProperties.class]: неудовлетворенная зависимость, выраженная через параметр конструктора 0; вложенное исключение - org.springframework.beans.factory.NoSuchBeanDefinitionException: нет подходящего bean-компонента типа 'io.codebrews.dynamodemo.DynamoConfigProperties': ожидается как минимум 1 bean-компонент, который квалифицируется как кандидат autowire. Аннотации зависимостей: {} 
2020-01-16 13: 29: 03.422 INFO 87367 --- [main] ConditionEvaluationReportLoggingListener: Ошибка при запуске ApplicationContext. Чтобы отобразить отчет об условиях, повторно запустите приложение с включенной отладкой.
2020-01-16 13: 29: 03.498 ОШИБКА 87367 --- [main] osbdLoggingFailureAnalysisReporter: *************************
ПРИЛОЖЕНИЕ НЕ ЗАПУСКАЕТСЯ
************************** Описание: Параметр 0 конструктора в io.codebrews.dynamodemo.DynamoClientProperties требовал bean-компонента введите 'io.codebrews.dynamodemo.DynamoConfigProperties', который не может быть найден. Действие: Рассмотрите возможность определения bean-компонента типа 'io.codebrews.dynamodemo.DynamoConfigProperties' в вашей конфигурации. Процесс завершился с кодом выхода 1

К сожалению, Spring будет жаловаться вам, что он не может найти bean-компонент DynamoConfigProperties , который требуется нашему приложению для запуска.Причина этого в том, что Spring не сканирует классы, аннотированные @ConfigurationProperties .

Наш первоначальный DynamoConfigProperties работает нормально, потому что мы аннотируем его с помощью @Component , который сканируется Spring при построении контекста приложения.

Я знаю, о чем вы думаете ... Вы собираетесь добавить аннотацию @Component к обновленной DynamoConfigProperties , не так ли? Но, к сожалению, это тоже не сработает и выдает эту ошибку при запуске приложения.

 2020-01-16 13: 45: 06.021 WARN 92292 --- [main] onfigReactiveWebServerApplicationContext: исключение во время инициализации контекста - отмена попытки обновления: org.springframework.beans.factory.BeanCreationException: ошибка при создании bean-компонента с именем 'DynamoConfigProperties' : @EnableConfigurationProperties или @ConfigurationPropertiesScan необходимо использовать для добавления типа @ConstructorBinding io.codebrews.dynamodemo.DynamoConfigProperties 
2020-01-16 13: 45: 06.031 INFO 92292 --- [main] ConditionEvaluationReportLoggingListener: Ошибка при запуске ApplicationContext.Чтобы отобразить отчет об условиях, повторно запустите приложение с включенной отладкой.
2020-01-16 13: 45: 06.039 ОШИБКА 92292 --- [main] osboot.SpringApplication: сбой при запуске приложения необходимо использовать для добавления типа @ConstructorBinding io.codebrews.dynamodemo.DynamoConfigProperties
в org.springframework.boot.context.properties.ConfigurationPropertiesBeanDefinitionValidator.validate (ConfigurationPropertiesBeanDefinitionValidator.java:66) ~ [spring-boot-2.2.2.RELEASE.jar: 2.2.2.RELEASE]
в org.springframework.boot.context.context. postProcessBeanFactory (ConfigurationPropertiesBeanDefinitionValidator.java:45) ~ [spring-boot-2.2.2.RELEASE.jar: 2.2.2.RELEASE]
в org.springframework.context.support.PostProcessorProcessorRegistrationDelegate.invokeBeanFeanjava: 286) ~ [spring-context-5.2.2.RELEASE.jar: 5.2.2.RELEASE]
в org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors (PostProcessorRegistrationDelegate.java-context-174) 5.2.2.RELEASE.jar: 5.2.2.RELEASE]
в org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors (AbstractApplicationContext.java:706) ~ [spring-context-5.2.2.RELEASE.jar: 5.2. 2. ВЫПУСК]
на org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:532) ~ [spring-context-5.2.2.RELEASE.jar: 5.2.2.RELEASE]
в org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext.refresh (ReactiveWebServerApplicationContext.refresh (ReactiveWebServerApplicationContext.refresh (ReactiveWebS java: 66) ~ [spring-boot-2.2.2.RELEASE.jar: 2.2.2.RELEASE]
в org.springframework.boot.SpringApplication.refresh (SpringApplication.java:747) [spring-boot-2.2.2 .RELEASE.jar: 2.2.2.RELEASE]
в org.springframework.boot.SpringApplication.refreshContext (SpringApplication.java: 397) [spring-boot-2.2.2.RELEASE.jar: 2.2.2.RELEASE]
в org.springframework.boot.SpringApplication.run (SpringApplication.java:315) [spring-boot-2.2.2. RELEASE.jar: 2.2.2.RELEASE]
в org.springframework.boot.SpringApplication.run (SpringApplication.java:1226) [spring-boot-2.2.2.RELEASE.jar: 2.2.2.RELEASE]
в org .springframework.boot.SpringApplication.run (SpringApplication.java:1215) [spring-boot-2.2.2.RELEASE.jar: 2.2.2.RELEASE]
в io.codebrews.dynamodemo.DynamodemoApplicationKt.main (DynamodemoApplication.kt: 15) [classes /: na] Процесс завершен с кодом выхода 1

Итак, что нам теперь делать? Мы улучшили способ написания нашего кода, однако наше приложение вылетает! Должны ли мы вернуться к старым путям?

Абсолютно нет! 🙅‍♂

Вот как это исправить. (На самом деле это очень просто).

Применение ConfigurationPropertiesScan или EnableConfigurationProperties к нашему основному классу приложения

В силу другой аннотации Spring Boot - @ConfigurationPropertiesScan .Сообщение об ошибке из случая, когда мы пытались аннотировать обновленный DynamoConfigProperties с помощью @Component , на самом деле говорит нам использовать либо @ConfigurationPropertiesScan , либо @EnableConfigurationProperties .

В этом руководстве мы продолжим работу с @ConfigurationPropertiesScan . Итак, давайте добавим эту аннотацию к нашему классу DynamodemoApplication следующим образом.

DynamodemoApplication.kt с ConfigurationPropertiesScan

В качестве альтернативы, если вы хотите использовать @EnableConfigurationProperties вместо этого, сделайте это следующим образом.Чтобы заставить его работать, требуется небольшой дополнительный шаг, т.е. вам нужно явно указать, какой класс конфигурации вы хотите включить. В нашем случае это DynamoConfigProperties .

DynamodemoApplication.kt с EnableConfigurationProperties

Если у вас есть другой класс / классы конфигурации, которые вы хотите включить, вам необходимо указать их все, разделив их запятой, например @EnableConfigurationProperties (DynamoConfigProperties :: class, KafkaConfigProperties :: class) .

После применения любого из вышеперечисленных действий снова запустите функцию main .На этот раз никаких уловок от меня. 😜

DynamodemoApplication.kt успешно работает

Вуаля! Теперь все работает.

Молодцы, ребята! 👍 👍

Фото Тори Моррисон на Unsplash

Приложение Github - здесь

Учебное пособие о том, как изначально создавалось приложение - здесь

Официальная документация по Spring Boot на @ConfigurationProperties - здесь.

.

Смотрите также