spring boot中@Autowired的类是null

今天使用springboot框架写程序,遇到一个问题。是这样的:

        我在一个java类A中定义一个函数a1,然后在另一个的类B中用函数b1调用了函数a1。但是,我在类A中使用注解@Autowired调用了其他类C,然后在函数a1中使用了C类中的函数。但是A类中的注解@Autowired实例的c返回是null。

出现问题原因是:我在类B中使用类A中函数,是用的new新建的A类对象,比如 A aa = new A();这种方法出现了问题,应该改为注解的方式在B类中引用A,如:

@Autowired

A aa; 这种方式就可以了。

@Component
public class AirConditionEnvironmentService { //类A
    @Autowired
    private producer producers;    //类C,就是这个注解下的producers在下面函数中为NULL

    public void EnvironmentDevId(List<EnvironmentDTO> envirDevIdList){}//函数a
public class ConditioningApi { //类B
   
    @Autowired
    ConditionEnvironmentService ConditionEnvironmentService;//正确使用类A的方法
    public void GHairCondition() {
        //ConditionEnvironmentService ConditionEnvironmentService = new 
           ConditionEnvironmentService(); //错误使用类A的方法
} 

猜你喜欢

转载自blog.csdn.net/csdn_chuxuezhe/article/details/82790163