Consider defining a bean of type 'com.security.Registration.repositories.UserRepo' in your configuration

Field userRepo in com.security.Registration.controller.RegistrationController required a bean of type 'com.security.Registration.repositories.UserRepo' that could not be found. Action: Consider defining a bean of type 'com.security.Registration.repositories.UserRepo' in your configuration.

Пытаюсь запустить регистрацию на Spring а у меня почему то у public UserRepo userRepo в коннтроллере не находит бин. Подскажите в чем причина этого безобразия?)

RegistrationController

@Controller
@RequestMapping("/registration")
public class RegistrationController {

@Autowired
public PasswordEncoder passwordEncoder;

@Autowired
public UserRepo userRepo;

@GetMapping
public String registration(){
    return "registration";
}

@PostMapping
public String processRegistration(RegistrationForm registrationForm){
    userRepo.save(registrationForm.toUser(passwordEncoder));
    return "redirect:/login";
}

}

RegistrationForm

@Data
public class RegistrationForm {
private String login;
private String passwordUser;

public User toUser(PasswordEncoder passwordEncoder){
    User user = new User();
    user.setLogin(login);
    user.setPassword(passwordEncoder.encode(passwordUser));
    user.setRoles(Collections.singleton(Role.USER));
    return user;
}
}

WebSecurityConfig

@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
@EnableJpaRepositories(basePackages = {"com.security.Registration.repositories"})
@EnableTransactionManagement
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

@Autowired
private UserDetailsService userDetailsService;

// шифрование пароля
@Bean
public static PasswordEncoder encoder(){
    return new BCryptPasswordEncoder(10);
}

@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
    auth.userDetailsService(userDetailsService).passwordEncoder(encoder() );
}

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests()
            .antMatchers("/","/home","/login","/registration").permitAll()
            .anyRequest().authenticated()
            .and()
            .formLogin()
            .loginPage("/login").defaultSuccessUrl("/").and()
            .logout().logoutUrl("/logout").logoutSuccessUrl("/").permitAll();

}

UserRepo

@NoRepositoryBean
@Repository
public interface UserRepo extends CrudRepository<User,Long> {
  User findByUsername(String name);
}

вот что в логах пишет

 Field userRepo in com.security.Registration.controller.RegistrationController required a bean of 
 type 'com.security.Registration.repositories.UserRepo' 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.security.Registration.repositories.UserRepo' in your 
 configuration.


 Process finished with exit code 1

Ответы (0 шт):