上接“jsp页面得到业务层的对象”
1.我现在想用org.springframework.orm.hibernate.HibernateTransactionManager来给业务对象织入事务管理方法。但在调试的时候却发生了异常:Error registering bean with name 'myTransactionManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml],系统在给myTransactionManager Bean注册的时候却找不到它的类。的确是很奇怪的问题,HibernateTransactionManager明明就在这儿摆着嘛,怎么系统就是找不到呢。经过几个小时的查找代码档案,发现原来我用的是Hibernate3版本。相应的org.springframework.orm.hibernate.HibernateTransactionManager也应该改成:org.springframework.orm.hibernate3.HibernateTransactionManager.汗!java程序员真累。
2.错误2,当我想在页面上得到织入事务管理的service对象时,又有一个错误来了:
org.apache.jasper.JasperException: $Proxy2
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
晕吧,代理人的待遇没问题了,可是它就是不给你做代理。经过在jsp页面上的排察:终于找到这一句:
RealnewsService newsservice=(RealnewsService)wac.getBean("newsService");
它有什么问题吗?初学者看不出什么错误来,因为语法上一点错也没有,后来经高手指点才如梦初醒:
它的声明类型应该是相应的接口。这是spring一贯的风格,(但这至于让我出错吗?郁闷),好。到今天为址,我和关注我的博客的同学应该对spring应用程序的核心配置文件有了一定的理解了。
总结一句话:解决问题的方法是:来了问题不要怕,用朴素的理念和执著的态度去战胜bug ;-)