一、使用示例
代码如下(示例):
@Component
public class XXXTest{
@Autowired
private XXXService xxxService;
@Autowired
private XXXMapper xxxMapper;
public XXXTest(){}
public static XXXTest xxxTest;
@PostConstruct
public void init(){
xxxTest = this;
}
public static void get(){
xxxTest.xxxService.getByXXX(); //可以直接调用service层的方法
xxxTest.xxxMapper.getByXXX(); //可以直接调用mapper层的方法
}
}
如果直接调用service层的方法,可以不再调用mapper也可以直接调用mapper层的方法
总结
在项目中,Controller层使用service只需使用注解@Resource或者@Autowired就可以,但是普通类或者工具类要用到service时,会提示找不到注解的属性值,所以会是null,报空指针,就算调用service的类中有@Component注解加入了Spring容器管理,也还是null,报空指针。(工具类或者普通类是静态方法,注解注入的service和mapper是非静态的,所以不可以使用,即使把service和mapper注入为static静态的也还是会报空指针)