datascope空指针

Blade 未结 1 106
154879594
154879594 2024-11-04 12:19

一、该问题的重现步骤是什么?

1. 在这行代码进入后报的错

List 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 里面的。
image.png

1条回答
  •  admin
    admin (楼主)
    2024-11-04 14:29

    看下这个服务的Application启动器是不是加的这个注解

    @BladeCloudApplication


    作者追问:2024-11-04 14:29

    刚加上了,还是报一样的错image.png

    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)


    回答: 2024-11-04 14:29

    自定义包名参考这个:https://sns.bladex.cn/q-630.html

    作者追问:2024-11-04 14:29

    包名有什么不对吗?有影响datascope 空指针?

    回答: 2024-11-04 14:29

    扫描包没写对,就读取不到bean,需要org.springblade和你的包这俩都配置扫描,具体仔细看下文档的例子

    0 讨论(0)
提交回复