Spring Boot не смог найти компонентJAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Spring Boot не смог найти компонент

Сообщение Гость »


это мой pom.xml после запуска весеннего проекта. У меня возникла ошибка.
Я попробовал эти стринги, но не сделал этого.
Если вы Вы выполнили все действия, но проблема по-прежнему не устранена. Давайте рассмотрим несколько дополнительных шагов по устранению неполадок:
1. **Проверьте сканирование компонентов**. Убедитесь, что ваша конфигурация XML или конфигурация Java включает пакет, в котором находится реализация UserRepository. Если вы используете сканирование компонентов, убедитесь, что пакет, содержащий репозиторий, сканируется Spring.
2. **Проверьте класс реализации**: дважды проверьте, что ваш интерфейс `UserRepository` имеет соответствующий класс реализации, который правильно помечен с помощью `@Repository`.
3. **Проверка имени компонента**. Если вы явно определяете компонент в конфигурации XML, убедитесь, что имя компонента соответствует имени, ожидаемому компонентом, который пытается его автоматически подключить. Вы можете использовать атрибут `id` в определении ``, чтобы указать имя bean-компонента.
4. **Проверка наличия нескольких контекстов**. Убедитесь, что не было случайного создания нескольких контекстов приложения, из-за которых компоненты могут быть не видны там, где они необходимы. Это может произойти, если вы используете несколько файлов конфигурации XML или смешиваете конфигурацию XML с конфигурацией Java.
5. **Просмотр внедрения зависимостей**: проверьте, есть ли какие-либо пользовательские квалификаторы или другие аннотации в точке внедрения зависимостей UserRepository (CustomUserDetailsService). Эти аннотации могут повлиять на процесс разрешения компонентов.
6. **Отладка**. Если возможно, установите точки останова или добавьте операторы журналирования, чтобы отслеживать процесс создания компонента. Это может помочь определить, создается ли компонент и есть ли какие-либо проблемы во время инициализации.
7. **Версии зависимостей**. Убедитесь, что все зависимости в вашем проекте, особенно зависимости, связанные с Spring, совместимы друг с другом. Иногда конфликты между различными версиями зависимостей Spring могут вызвать проблемы при создании компонентов.
8. **Обратитесь к сообществу/документации**. Если ни один из вышеперечисленных шагов не помог решить проблему, попробуйте обратиться на форумы сообщества Spring или обратиться к официальной документации Spring за советами по устранению неполадок, специфичными для вашего сценария.
< p>Внимательно изучив эти аспекты, вы сможете определить проблему, из-за которой bean-компонент `UserRepository` не обнаруживается в контексте вашего приложения Spring.

Код: Выделить всё


4.0.0

org.springframework.boot
spring-boot-starter-parent
3.2.3
 

com.example.demo.DemoApplication


com.example
demo
0.0.1-SNAPSHOT
demo
Demo project for Spring Boot

21



org.springframework.boot
spring-boot-starter-security



jakarta.servlet
jakarta.servlet-api
5.0.0 
provided



org.springframework.boot
spring-boot-starter-webflux



com.mysql
mysql-connector-j
runtime



javax.persistence
javax.persistence-api
2.2


org.springframework.boot
spring-boot-starter-test
test


io.projectreactor
reactor-test
test


org.springframework.security
spring-security-test
test



org.projectlombok
lombok
1.18.20
provided



org.springframework.data
spring-data-jpa
2.5.5



jakarta.validation
jakarta.validation-api
3.0.0  







org.springframework.boot
spring-boot-maven-plugin
< /plugin>





Код: Выделить всё

/Desktop/beckend/java_back$  /usr/bin/env /usr/lib/jvm/java-21-openjdk-amd64/bin/java -agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=localhost:42975 @/tmp/cp_2akgesudot11bi0kws3dn676g.argfile com.example.demo.DemoApplication
Error: could not open `/tmp/cp_2akgesudot11bi0kws3dn676g.argfile'
vansh@satellite:~/Desktop/beckend/java_back$  cd /home/vansh/Desktop/beckend/java_back/demo ; /usr/bin/env /usr/lib/jvm/java-21-openjdk-amd64/bin/java -agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=localhost:46277 @/tmp/cp_ej0uoxrfv0buwdyy0i6h7o7rl.argfile com.example.demo.DemoApplication

.   ____          _            __ _ _
/\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/  ___)| |_)| | | | | || (_| |  ) ) ) )
'  |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot ::                (v3.2.3)

2024-03-11T16:16:05.139+05:30  INFO 237523 --- [           main] com.example.demo.DemoApplication         : Starting DemoApplication using Java 21.0.2 with PID 237523 (/home/vansh/Desktop/beckend/java_back/demo/target/classes started by vansh in /home/vansh/Desktop/beckend/java_back/demo)
2024-03-11T16:16:05.144+05:30  INFO 237523 --- [           main] com.example.demo.DemoApplication         : No active profile set, falling back to 1 default profile: "default"
2024-03-11T16:16:07.100+05:30  WARN 237523 --- [           main] onfigReactiveWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'springSecurity': Unsatisfied dependency expressed through field 'userDetailsService': Error creating bean with name 'customUserDetailsService' defined in file [/home/vansh/Desktop/beckend/java_back/demo/target/classes/com/example/demo/security/CustomUserDetailsService.class]: Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'com.example.demo.repository.UserRepository' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
2024-03-11T16:16:07.143+05:30  INFO 237523 --- [           main] .s.b.a.l.ConditionEvaluationReportLogger :

Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2024-03-11T16:16:07.237+05:30 ERROR 237523 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   :

***************************
APPLICATION FAILED TO START
***************************

Description:

Parameter 0 of constructor in com.example.demo.security.CustomUserDetailsService required a bean of type 'com.example.demo.repository.UserRepository' that could not be found.

The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)

Action:

Consider defining a bean of type 'com.example.demo.repository.UserRepository' in your configuration.

vansh@satellite:~/Desktop/beckend/java_back/demo$


Источник: https://stackoverflow.com/questions/781 ... -find-bean
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»