无法自动装配。找不到 ‘HttpSecurity‘ 类型的 Bean。

自动注入

今天在编写配置类中遇到了这个问题,

在使用SpringBoot框架编写Java代码时,这里的参数会提示“无法自动装配。找不到 'HttpSecurity' 类型的 Bean。 ”这样的错误,

我使用了SpringBoot框架,也添加了Spring Security的依赖

解决办法:

1、在主启动类中添加`@EnableWebSecurity`注解

第一个注解就是要解决无法自动装配问题所需要的注解

第二个注解是被标注的类是主启动类

2、在本类中添加`@EnableWebSecurity`注解

原因:

在Spring Security中,`@EnableWebSecurity`注解用于启用基于Web的安全性配置,

如果没有添加`@EnableWebSecurity`注解,Spring无法知道这是一个Web安全配置类,也就无法自动装配`HttpSecurity` Bean。

不过,在查阅相关资料后所得到的回答是:

如果正在使用Spring Boot,并且需要配置Spring Security以保护你的应用程序,通常可以不添加`@EnableWebSecurity`注解。这是因为Spring Boot自动配置了Spring Security,并且默认情况下是启用的。

也就是说,如果应用程序中包含Spring Security的依赖,那么Spring Boot会自动配置Spring Security,并根据类路径中存在的依赖项自动配置相应的安全特性。

就是说由于我有Spring Security的依赖,即使我不添加`@EnableWebSecurity`注解也是可以自动注入而不会出现错误才对的,可能是我哪些地方遗漏了重要的东西。

还有一点:

`@EnableWebSecurity`注解已经包含了`@Configuration`注解的功能,因此,如果在一个类上添加了`@EnableWebSecurity`注解,可以不再显式添加`@Configuration`注解。

`@EnableWebSecurity`注解实际上是一个组合注解,它包含了`@Configuration`注解,用于表示这是一个配置类,并且还包含其他一些注解用于启用Spring Security的Web安全性配置。

因此,在Spring Security配置类中,如果已经添加了`@EnableWebSecurity`注解,那么这个类就会被Spring识别为一个配置类,不需要再额外添加`@Configuration`注解。

但是我懂得很少就@Configuration注解也加上了以防后面出现问题

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值