在其他类中使用Autowired注入后为null
时间: 2024-02-21 12:09:27 浏览: 72
自定义标签中@Autowired的属性为null
在其他类中使用@Autowired注入后为null,可能是因为该类没有被Spring容器管理,所以无法进行自动注入。要解决这个问题,可以尝试以下几种方法:
1. 将该类加上@Component或@Service注解,使其成为一个Spring管理的Bean,并且在Spring配置文件中添加自动扫描该类所在的包路径。
2. 在该类中创建一个@Autowired所需的对象的成员变量,并添加一个setter方法,通过setter方法手动注入。
3. 可以在其他类中使用构造方法注入该类,例如:
```
@Component
public class OtherClass {
private final MyClass myClass;
@Autowired
public OtherClass(MyClass myClass) {
this.myClass = myClass;
}
}
```
这样,在OtherClass中就可以使用注入的myClass对象了。
4. 如果该类是一个工具类或者静态类,可以考虑使用静态方法,并通过方法参数的方式传入需要的对象。
以上是几种常见的解决方法,可以根据具体情况选择适合的方法来解决问题。
阅读全文