一、该问题的重现步骤是什么?
1. 在这行代码进入后报的错
List<ShopType> list = this.lambdaQuery().eq(ShopType::getParentId, id).eq(ShopType::getIsDeleted, 0).list();
二、你期待的结果是什么?实际看到的又是什么?
能找到dataScope
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
Bladex4.1.0, windows11
四、请提供详细的错误堆栈信息,这很重要。
org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: java.lang.NullPointerException: Cannot invoke "org.springblade.core.datascope.model.DataScopeModel.getResourceCode()" because "dataScope" is null
### Cause: java.lang.NullPointerException: Cannot invoke "org.springblade.core.datascope.model.DataScopeModel.getResourceCode()" because "dataScope" is null
五、若有更多详细信息,请在下面提供。
刚从bladex 2.1.5 版本升级到 4.1.0版本基础框架已经顺利启动了没问题。然后加上自己开发的模块,自己开发的API报了这个错。 在进入getDataScopeyMapper()的时候是直接跳到 IDataScopeClientFallback 里面的。
看下这个服务的Application启动器是不是加的这个注解
@BladeCloudApplication
刚加上了,还是报一样的错
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@143c5303]
2024-11-04 13:57:05.596 ERROR [ XNIO-1 task-6] [] o.y.t.f.i.controller.ShopTypeController [81] : org.mybatis.spring.MyBatisSystemException
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439)
at jdk.proxy2/jdk.proxy2.$Proxy153.selectList(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224)
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164)
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77)
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152)
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)
at jdk.proxy2/jdk.proxy2.$Proxy154.selectList(Unknown Source)
at com.baomidou.mybatisplus.extension.conditions.query.ChainQuery.lambda$list$1d3f6527$1(ChainQuery.java:39)
at com.baomidou.mybatisplus.extension.conditions.ChainWrapper.execute(ChainWrapper.java:63)
at com.baomidou.mybatisplus.extension.conditions.query.ChainQuery.list(ChainQuery.java:39)
at org.yyid.tap.freezer.domain.service.impl.ShopTypeServiceImpl.updateEnable(ShopTypeServiceImpl.java:123)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716)
at org.yyid.tap.freezer.domain.service.impl.ShopTypeServiceImpl$$SpringCGLIB$$0.updateEnable(<generated>)
at org.yyid.tap.freezer.interfaces.controller.ShopTypeController.updateEnable(ShopTypeController.java:79)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
自定义包名参考这个:https://sns.bladex.cn/q-630.html
包名有什么不对吗?有影响datascope 空指针?
扫描包没写对,就读取不到bean,需要org.springblade和你的包这俩都配置扫描,具体仔细看下文档的例子
扫一扫访问 Blade技术社区 移动端