java解决springboot其他类注入Service、Mapper对象为Null
具体错误:
实现CommandLineRunner接口可以解决注入的Service、Mapper对象为空,CommandLineRunner主要的作用是预加载数据,运行主启动类时此方法会自动加载并运行,具体操作如下:
package com.xcz.config;
import com.xcz.entity.User;
import com.xcz.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
/**
*自定义预加载数据
* 并添加到springboot容器中
* 实现CommandLineRunner接口
* 运行主启动类时此方法会自动加载并运行
*/
@Component
public class MyStartupRunner implements CommandLineRunner {
@Autowired
UserService userService;
@Override
public void run(String... args) throws Exception {
User user=new User();
user.setNameTheWork("hello");
userService.save(user);
}
}
这里只是演示具体如何再其他类中注入Service或者对象(Mapper同理),具体业务不可能这么简单,可以在run方法中新建一个线程开启任务。