Nis*_*age 5 spring annotations spring-security spring-boot
我对 Spring 依赖注入和事务管理有一些经验,但我对 Spring 安全性很陌生。当我阅读一篇与spring security相关的文章@Configuration时,我发现示例中使用了注解,但没有找到bean定义。
根据我的理解,@Configuration注释用于包含 bean 定义的类中。我需要知道@Configuration这个例子中的注释是做什么的。
@Configuration
public class ApplicationSecurity extends WebSecurityConfigurerAdapter {
@Autowired
DataSource dataSource;
... // web stuff here
@Override
public configure(AuthenticationManagerBuilder builder) {
builder.jdbcAuthentication().dataSource(dataSource).withUser("dave")
.password("secret").roles("USER");
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢
Spring 托管类中并不强制有Bean定义。
在这种情况下@Configuration(包裹@Component)用于向 Spring 指示该类应该被实例化并且所有它的依赖项都应该被注入 - 在这种情况下是DataSource和AuthenticationManagerBuilder。这是控制反转原理的一个例子。
Spring 还提供了这些ConfigurerAdapter 挂钩点,您可以在其中调整已实例化组件的默认配置。这正是您的 Configuration 类中发生的情况。
| 归档时间: |
|
| 查看次数: |
2813 次 |
| 最近记录: |