java.lang.NoSuchMethodException: com.sun.proxy.$Proxy58.list错误解决办法_java

java.lang.NoSuchMethodException: com.sun.proxy.$Proxy58.list错误解决办法

玩web的SSH总会有些令你意想不到的exception,这里其中有很多事自己不小心,或者马虎所造成。因此,解决的方案会各有不同,别人出现的异常解决方案对你的可能无效,就像上面的我报的异常一样,百度了很多很多次,给我的答案无非就是在aop上加上一句,但是非常抱歉,我加上去无效!所以还是那句话,对于自己的异常,还是要自己解决。

首先说明一下,我这次的练习的ssh结构和异常所报的原因。

用的框架式struts2.2+hibernate4.2+spring4.0,容器室tomcat7.0.在Action中,我写了一个基类BaseAction,继承了ActionSupport,实现了ModelDriven接口,代码如下:

----------
@Component
@Transactional
----------
public abstract class BaseAction<T> extends ActionSupport implements ModelDriven<T> {
  private static final long serialVersionUID = 2719688501307297741L;
  @Resource(name = "roleServiceImpl")
  protected RoleService roleService;
  @Resource(name = "departmentService")
  protected DepartmentService departmentService;
  @Resource(name = "userService")
  protected UserService userService;

  protected T model;

  public BaseAction() {
    ParameterizedType pt = (ParameterizedType) this.getClass().getGenericSuperclass();
    @SuppressWarnings("unchecked")
    Class<T> clazz = (Class<T>) pt.getActualTypeArguments()[0];
    try {
      model = clazz.newInstance();
    } catch (Exception e) {
      throw new RuntimeException(e);
    }
  }
  public T getModel() {
    return model ;
  }
}

这样做的好处是,每个组件对应的Action中只需要告诉BaseAction自己要实现的泛型,然后只需要完成自己的逻辑。对于每个Action要实现ActionSupport来讲,这是一项基本的且容易想到的方案。

然后,在每个Action中调用service组件实现自己的功能,在每个Action中都使用了@Component(“departmentAction”),@Scope(“prototype”)注解,但是练习一测试,就会出现Java.lang.NoSuchMethodException: com.sun.proxy.$Proxy58.list()异常,检查之后发现,原因是:

BaseAction是抽象的,在上面加了@Transactional是没有意义的,

而@Transactional就是有spring管理,spring管理的对象要生成代理,而对于一个抽象的类,是不能被new成对象的,只有一个抽象类的具体实现类才有可能是被spring代理。

所以,去掉BaseAction上面的@Transactional,就是本题的原因了。

  感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索com.sun.proxy、com.sun.proxy 哪个包、sunproxyadmin、sunproxyadmin 8081、free proxy list,以便于您获取更多的相关知识。

时间: 2024-11-17 08:42:08

java.lang.NoSuchMethodException: com.sun.proxy.$Proxy58.list错误解决办法_java的相关文章

[Domino]“java.lang.ClassCastException:lotus.domino.cso.Item”异常解决办法

[Domino] "java.lang.ClassCastException:lotus.domino.cso.Item" 异常解决办法 编写者 日期 关键词 郑昀@ultrapower 2005-6 Java Domino RichTextItem   现象 通过Domino的Document.getFirstItem("Body")是可以获取当前邮件的Body字段,并试图直接转换为RichTextItem类型,从而访问该邮件的附件. 但是,有时候这个转换得到了下

java中netbeans org.tigris.subversion.javahl.ClientException错误解决办法

org.tigris.subversion.javahl.ClientException: The path 'D:\xampp\htdocs\test' appears to be part of a Subversion 1.7 or greater working copy.  Please upgrade your Subversion client to use this working copy. 解决办法 在 NetBeans 7.0\etc\netbeans.conf 文件中增加

Java中tomcat memecached session 共享同步问题的解决办法_java

事件缘由:一个主项目"图说美物",另外一个子功能是品牌商的入驻功能,是跟主项目分开的项目,为了共享登录的用户信息,而实现session共享,俩个tomcat,一个tomcat6,一个tomcat7 web项目windows系统下实现session的共享 第一个步: 在俩个tomcat的context.xml这个文件中配置如下代码: <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManage

登录不成功-java.lang.NoSuchMethodException: com.crm.action.UserAction.login()

问题描述 java.lang.NoSuchMethodException: com.crm.action.UserAction.login() 三大框架登录时老是说没找到com.crm.action.UserAction.login()

没有方法异常-做ssh项目报java.lang.NoSuchMethodException

问题描述 做ssh项目报java.lang.NoSuchMethodException type Exception report message com.action.LoginAction.Login() description The server encountered an internal error that prevented it from fulfilling this request. exception java.lang.NoSuchMethodException: c

找不到方法-structs2 java.lang.NoSuchMethodException怎么解决?

问题描述 structs2 java.lang.NoSuchMethodException怎么解决? 理论上userPre和evaluation1Pre应该除了具体实现没有其他差别,但是在实际运行过程中,evaluation1Pre可以正常运行,而userPre就会报java.lang.NoSuchMethodException: form.userPreAction.execute()的错误,实在是找不到为什么,跪求各路大神帮解决.(真的没有C币了,见谅...) 解决方案 java.lang.

java.lang.ClassNotFoundException: com.sun.el.ExpressionFactoryImpl.这个属于那个包

问题描述 使用Spring3MVC在启动tomcat时候,报这个错误哦.大家看看是缺少那个包?java.lang.ClassNotFoundException:com.sun.el.ExpressionFactoryImpl 解决方案 解决方案二:应该是因为使用了EL表达式没有导入EL表达式需要的那个包解决方案三:jstl.jarstandard.jar解决方案四:导入el_api.jar还是报这样的错,不知道是怎么回事解决方案五:引用2楼whereusejava的回复: jstl.jarsta

java.lang.ClassCastException: com.sun.proxy.$Proxy27 cannot be cast to com.bbk.n002.service.QuestionService

1 严重: Servlet /N002-1.0 threw load() exception 2 java.lang.ClassCastException: com.sun.proxy.$Proxy27 cannot be cast to com.bbk.n002.service.QuestionService 3 at com.bbk.n002.servlet.CreateTaskQueueServlet.init(CreateTaskQueueServlet.java:28) 4 at ja

java.lang.NoSuchMethodException: x.getHibernateLazyInitializer()

使用struts2 对Java 对象进行序列化时报错: Xml代码   java.lang.NoSuchMethodException: com.entity.message.push.OSMessage.getHibernateLazyInitializer()   at java.lang.Class.getMethod(Class.java:1607)       at org.apache.struts2.json.JSONWriter.findBaseAccessor(JSONWrit