我是Spring-World的新手,我有Spring Security和JPA的Spring Boot应用程序.还有CrudRepository和UserDetailsService,见下文
应用类
@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); }
ApiUserDetailsService
@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总是为空?我做错了什么?