JAVA普通类或者工具类调用Service层或者Mapper层报空指针

一、使用示例

代码如下(示例):

@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静态的也还是会报空指针)

在软件开发中,Mapper通常是指用于数据访问的组件,用于处理数据库的操作。当Mapper层报Mapper空指针异常时,通常是由于以下几个可能的原因导致: 1. 未正确注入Mapper对象:在使用Mapper对象之前,需要确保正确地将其注入到相应的中。如果未正确注入Mapper对象,调用Mapper的方法时就会抛出空指针异常。 2. Mapper对象未正确初始化:在创建Mapper对象时,需要确保正确地进行初始化操作。如果未正确初始化Mapper对象,调用其方法时可能会导致空指针异常。 3. 数据库连接问题:Mapper通常需要与数据库进行交互。如果数据库连接出现问题,比如数据库无法连接或者查询语句出错,可能导致Mapper层报Mapper空指针异常。 解决这个问题的方法可以有以下几种: 1. 检查Mapper对象的注入:确保Mapper对象已经成功注入到相应的中,并且注入的方式正确。可以通过查看相关的配置文件或者注入代码来确认。 2. 确认Mapper对象的初始化:检查Mapper对象的创建过程,确保在创建对象时进行了正确的初始化操作。 3. 检查数据库连接:确认数据库连接是否正常,可以尝试连接数据库并执行简单的查询语句来验证连接是否成功。 4. 检查相关的配置项:如果使用了配置文件来配置Mapper或数据库连接信息,检查相关的配置项是否正确填写。 总之,当Mapper层报Mapper空指针异常时,需要检查注入、初始化、数据库连接等方面的问题,以确定导致异常的具体原因,并采取相应的解决措施。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值