Я пытаюсь понять учебник для Spring Security в Pluralsight.
В этом объявлен компонент UserDetailsService.
@Bean
UserDetailsService userDetailsService(DataSource dataSource) {
return new JdbcUserDetailsManager(){
@Override
protected List<GrantedAuthority> loadUserAuthorities(String username) {
return AuthorityUtils.createAuthorityList("ROLE_USER");
}
};
}
Но хотя я правильно скопировал код, я получаю следующую ошибку:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDetailsService' defined in donner.enterprises.godscontest.GodscontestApplication: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: 'dataSource' or 'jdbcTemplate' is required at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1708) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:581) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:503) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE] ...
Я понял эту ошибку, что источник данных не инициализирован или неверен в моем объявлении.
Но этот DataSource работает правильно.
Я проверил его без этого Бина, и он работал.
В Debugger я также вижу, что dataSode правильно вставлен в UserDetailsService, но он все еще не работает начало.
Как избавиться от этой проблемы?