lm9521
明天Say
采纳率25%
2018-12-07 09:24

SSM Dubbo 集成 Shiro 自定义Realm 注入 SysUserMapper 失败

先说下大概框架 SpringMVC Spring Mybatis 集成Dubbo,现在引入 shiro

服务端 配置 spring-mybatis.xml spring-service.xml 文件

消费端 配置 spring-mvc.xml 文件

当前 shiro.xml 配置文件 配置在了 消费端 。(服务端 ,消费端 都配置过 ,配置在服务端 ,页面拦截失效)。

spring-service.xml :

 <context:component-scan base-package="com.artmall.manager.service">
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>

spring-mvc.xml :

  <!-- 扫描带注解的包 -->
    <context:component-scan base-package="com.artmall.manager">
        <context:include-filter type="aspectj" expression="com.artmall.manager.common.aspect"/>
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>

出现问题:

自定义 Realm 的时候 引入 SysUserMapper , 服务端启动的时候 报错,Error creating bean with name 'userRealm': Could not autowire field :SysUserMapper。也就是说 SysUserMapper 注入是失败的 。

** 理解**: shiro的自定义realm的认证阶段属于filter,当时的spring bean还没有读取进来。
见上配置文件 服务端 在启动的时候就已经 扫描 service了。

疑问的是 消费端 再启动的时候为什么 还会报这样的错。不知道是我理解的还不够到位还是什么 配置上有问题

希望有知道的朋友多多指点下 非常感谢。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • qq_16127313 爱码少年 3年前

    SysUserMapper 包位置是啥?配置的mapper扫描路径是啥?

    点赞 评论 复制链接分享

相关推荐