Ошибка при создании bean-компонента с именем securityconfig, не удалось ввести автоматически подключенные зависимости; исключение java.lang.illegalargumentexception

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

// Securityconfig

@Configuration
@EnableWebSecurity
public class SecurityConfiguration  extends WebSecurityConfigurerAdapter{
    @Autowired
    private BCryptPasswordEncoder bCryptPasswordEncoder;

    @Autowired
    private DataSource dataSource;
    @Value("${spring.queries.users-query}")
    private String usersQuery;
    @Value("${spring.queries.roles-query}")
    private String rolesQuery;
    @Override
    protected void configure(AuthenticationManagerBuilder auth)
            throws Exception {
        auth.
            jdbcAuthentication()
            .usersByUsernameQuery(usersQuery)
            .authoritiesByUsernameQuery(rolesQuery)
            .dataSource(dataSource)
                .passwordEncoder(bCryptPasswordEncoder);
    }
    @Override
    protected void configure(HttpSecurity http) throws Exception {

        http.
            authorizeRequests()
            .antMatchers("/").permitAll()
            .antMatchers("/login").permitAll()
            .antMatchers("/registration").permitAll()
            .antMatchers("/admin/**").hasAuthority("ADMIN").anyRequest()
            .authenticated().and().csrf().disable().formLogin()
            .loginPage("/login").failureUrl("/login?error=true")
            .defaultSuccessUrl("/admin/home")
            .usernameParameter("email")
            .passwordParameter("password")
            .and().logout()
            .logoutRequestMatcher(new AntPathRequestMatcher("/logout"))
            .logoutSuccessUrl("/").and().exceptionHandling()
            .accessDeniedPage("/access-denied");
    }
    @Override
    public void configure(WebSecurity web) throws Exception {
        web
           .ignoring()
           .antMatchers("/resources/**", "/static/**", "/css/**", "/js/**", "/images/**");
    }
}

// ServiceImpl

@Service
public class StudentServiceImpl implements StudentService {
    private StudentRepository stuRepository;
    public StudentServiceImpl(StudentRepository stuRepository) {
        this.stuRepository=stuRepository;
    }
    @Autowired   
    private BCryptPasswordEncoder bCryptPasswordEncoder;        
    @Override
    public Student findStudentByEmail(String email) {
        return stuRepository.findByEmail(email);
    }
    @Override
    public void saveStudent(Student stu) {
        stu.setPassword(bCryptPasswordEncoder.encode(stu.getPassword()));
        stuRepository.save(stu);
    }
}

//Ошибка

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'securityConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'spring.queries.users-query' in value "${spring.queries.users-query}"
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:378) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1341) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE]

// если я добавляю запрос в файл свойств. я получаю эту ошибку

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'loginController': Unsatisfied dependency expressed through field 'stuserv'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'studentServiceImpl' defined in file [C:\Users\Root\eclipse-workspace\manlib\target\classes\com\itcinfo\manlib\service\StudentServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'studentRepository': Post-processing of merged bean definition failed; nested exception is java.lang.NoSuchMethodError: javax.persistence.PersistenceContext.synchronization()Ljavax/persistence/SynchronizationType;
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:586) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:91) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE]
1
0
3 203
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы прочитаете сообщение об ошибке, вы увидите

Could not resolve placeholder 'spring.queries.users-query' in value "${spring.queries.users-query}"

Вы пропустили объект недвижимости в файле spring.queries.users-query. Добавьте это, и эрор должен исчезнуть

ОБНОВИТЬ:

если вы прочитали новое сообщение об ошибке:

java.lang.NoSuchMethodError: javax.persistence.PersistenceContext.synchronization()Ljavax/persistence/SynchronizationType;

Вы можете увидеть исключение, которое показывает несовместимые файлы jar

когда я добавляю этот запрос. Я получаю еще одну ошибку.

mounika 10.09.2018 09:24

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

mounika 10.09.2018 09:27

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

Jens 10.09.2018 09:31

Другие вопросы по теме