UserDetailsS​​ervice中自动装配的CrudRepository始终为null

 手机用户2602886105 发布于 2022-12-25 14:05

我是Spring-World的新手,我有Spring Security和JPA的Spring Boot应用程序.还有CrudRepository和UserDetailsS​​ervice,见下文

应用类

@Configuration
@ComponentScan
@EnableAutoConfiguration
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

userDAO的

@Repository
public interface UserDao extends CrudRepository {
    public Collection findByName(String name);
}

ApiUserDetailsS​​ervice

@Component
public class ApiUserDetailsService implements UserDetailsService {

    @Autowired
    private UserDao dao;

    @Override
    public UserDetails loadUserByUsername(final String username) throws UsernameNotFoundException {
        assert dao != null;
        ...
    }
}

安全配置

@Configuration
@EnableWebSecurity
public class HttpBasicAuthConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.csrf().disable();
        http.requestCache().requestCache(new NullRequestCache());
        http.httpBasic();
        http.authorizeRequests().anyRequest().authenticated();
    }


    @Autowired
    public void registerAuthentication(AuthenticationManagerBuilder auth) throws Exception {
        auth.userDetailsService(new ApiUserDetailsService());
    }
}

为什么Autowired dao总是为空?我做错了什么?

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有