spring-boot2.16里面@Autowired 注入失败

@ConfigurationProperties 使用这个来生成配置类文件,但是总是注入失败

直接附上源码
源码文件

图片说明
在启动类上面加上这个注解

图片说明
项目中我不知道是因为代码不全还是怎样,启动的时候,注入这个bean失败,我注掉了

图片说明

将你的源码down下来了,加了一些配置,启动成功了,控制台有一些错误是因为数据库连接是错的
问题如下
1、pom文件spring session没有版本号
在我改成如下引用后,出现多个spring bean冲突;明显是出现版本冲突;后屏蔽了此jar的引用(其他的spring组件可能已经传递依赖了此jar)

        <dependency>
            <groupId>org.springframework.session</groupId>
            <artifactId>spring-session</artifactId>
            <version>1.3.5.RELEASE</version>
        </dependency>

2、com.csoo.security.core.validate.code.ValidateCodeRepository没有实现的spring bean
不清楚你这个bean要做什么,我实现了一个类并注册为spring bean,代码如下

@Component
public class MyValidateCodeRepository implements ValidateCodeRepository{
    @Override
    public void save(ServletWebRequest request, ValidateCode code, ValidateCodeType validateCodeType) {

    }

    @Override
    public ValidateCode get(ServletWebRequest request, ValidateCodeType validateCodeType) {
        return null;
    }

    @Override
    public void remove(ServletWebRequest request, ValidateCodeType codeType) {

    }
}

3、我看你用到了spring security组件,在配置类中缺少了某些spring bean
图片说明

InvalidSessionStrategy 这个是表明当客户端传入一个无效的sessionId时候的处理策略实现
SimpleRedirectInvalidSessionStrategy 是其实现,表明当遇到这种情况时候进行重定向跳转

SessionInformationExpiredStrategy 这个表明当侦测到一个客户端请求过来时候,如果session过期了的处理策略实现
SimpleRedirectSessionInformationExpiredStrategy 是其实现,明当遇到这种情况时候进行重定向跳转

解决方法如下:
在com.csoo.security.WebSecurityConfig中加入如下bean

    @Bean
    public SimpleRedirectInvalidSessionStrategy simpleRedirectInvalidSessionStrategy(){
        return new SimpleRedirectInvalidSessionStrategy("/invalid");
    }

    @Bean
    public SimpleRedirectSessionInformationExpiredStrategy simpleRedirectSessionInformationExpiredStrategy(){
        return new SimpleRedirectSessionInformationExpiredStrategy("/invalid");
    }

至此启动成功,如有问题,可再联系

代码不全。。导下来报错。。没有pom.xml等等。。只有部分代码

用@Source报错吗?

用@Resource试试,你什么东西注入失败啊

在生成配置类文件所在类加注解:@EnableConfigurationProperties(配置类名.class)