Spring - 用@Autowired标注的普通方法起什么作用?

比如

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth
            .inMemoryAuthentication()
                .withUser("user").password("password").roles("USER");
    }
}

这段代码里,是不是auth是被注入的?configureGlobal被调用的时机又是什么时候?

阅读 15.1k
2 个回答

Spring会先实例化所有Bean,然后根据配置进行扫描,当检测到@Autowired后进行注入,注入时调用这个方法。

其实这个注解弄到属性上,你就会明白这是依赖注入。弄到方法上就是在实例化这个类的时候,注入方法形参类型的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题