это мой 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
Мобильная версия