zoukankan      html  css  js  c++  java
  • Spring AOP操作action时无法注入,报NullPointer异常

    Spring AOP操作action时无法注入,报NullPointer异常
    当使用Spring AOP对action层进行操作时,会出现注入失败的问题,出现空指针异常。
    原因是一般struts2+spring应用中,spring的插件只负责为action的ioc部分,但并没有进行功能加强,即采用代理的机制,所有的action还是使用struts2进行管理,
    在使用AOP后,这些action需要由spring进行管理,如果没有由spring进行代理,将出现注入失败。
    解决办法:Struts2的一个特殊的constant,作用是确保Spring的自动装配策略总是被考虑的,struts.objectFactory.spring.autoWire.alwaysRespect,将其值设为true,

    <constant name="struts.objectFactory.spring.autoWire.alwaysRespect" value="true" /> 


    然后在所有的action上添加注解

    @Component("action")//action根据具体情况修改
    @Scope("prototype")

    在struts的配置中使用action的名字进行配置,@Scope用于声明action使用多实例,这样AOP可以进行正常注入

  • 相关阅读:
    Java虚拟机JVM学习05 类加载器的父委托机制
    java 接口
    java 抽象类
    代码块(2)
    获取超额收益的思考
    HttpServer
    交易过程思考
    A股时间窗口
    redash学习记录
    MySQL学习记录
  • 原文地址:https://www.cnblogs.com/michaelkai/p/3816170.html
Copyright © 2011-2022 走看看