zx123456007 2017-01-11 02:33 采纳率: 0%
浏览 906

Spring 整合 apache shiro, 多次实例化Realm

Spring 整合 apache shiro 时,当Realm中有自动注入(@Autowired)时,会实例化三次,

 @Component
@Scope(ConfigurableBeanFactory.SCOPE_SINGLETON)
public class MyRealm extends AuthorizingRealm  {

        public MyRealm() {
            System.out.println("in Myrelm()");

        }

        @Autowired
        private UserService userService;
}

当UserService上有@Autowired 时,会执行三次构造方法,输出三次“in Myrelm()”。
如果去掉@Autowired 就只有一次。

在其他地方不会出现此问题,比如Controller中自动注入UserService。

  • 写回答

1条回答

  • JE_GE 2017-01-11 15:39
    关注

    MyRealm 如果是单例的话,就不应该有三次,感觉要看整体代码

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器