我遇到了一个问题,在运行时,某个类中的自动装配的bean都是空的 . 我想要一个答案,它将涵盖为什么 spring 自动装配的bean没有初始化的所有可能性 .
-
仅使用java配置,根本没有xml文件
-
新关键字仅用于bean定义
-
所有类和字段都经过适当注释
例如:
@ComponentScan(...
@Configuration
public...
@Bean
public ... myBean(){
return new ...;
}
@Service
public ...
@Autowired
private ... myBean ;
我想这是我试图使用服务的时候;
@Configuration
public ...
// Constructor
service = new Service();
// Field
private Service service;
1 回答
最可能的原因是对象实例不是一个spring bean(你要注入的东西)换句话说:Spring不知道实例,因此不关心它
顺便说一句:如果Spring知道/处理该实例并且找不到匹配的bean,那么
@Autowired
的默认结果是一个例外