Springboot @Configuration的类@Autowired注入为空。



原因是这个类是在spring注入前执行的,所以没找到为空?怎么解决

spring注入前执行的 ? 是啥意思?看代码,看不出来任何问题。

问题尽量贴代码,别人好复制,帮你调试。:blush:

不好意思,第一次发帖;:joy:

@Configuration
public class SocketServerConfig {
	@Autowired(required=false)
	private AService server;

	@Bean
	public void socketServer() {
		System.out.println("=="+server);
	}
}

@Slf4j
@Service
public class AService extends Thread{
    @Override
    public void run(){
        log.info("执行");
    }
}

问题:SocketServerConfig类注入AService的这个service为空
网上说是因为这个注解@Configuration的类是在Spring注入之前执行的所以找不到这个AService,注入失败

你是springboot环境吗?我本地测试了下,没问题啊,可以注入。

import org.springframework.stereotype.Service;

@Service
public class AService extends Thread{
    @Override
    public void run(){
    }
}


@Configuration
public class SocketConfiguration {
	@Autowired(required=false)
	private AService server;

	@Bean
	public void socketServer() {
		System.err.println("=="+server);
		System.exit(0);
	}
}

控制台的输出
image