首页 > 代码库 > SpringNote01.基于SpringMVC-Hibernate的Blog系统

SpringNote01.基于SpringMVC-Hibernate的Blog系统

    最近,在学习Spring,做这样一个简单的blog系统,主要是让自己动手练习使用Spring,熟练的使用才干进一步的深入学习。该项目使用Maven构建,使用git进行代码管理,通过这样一个小项目,熟悉了这两个工具的使用。代码托管在github上,感兴趣的同学能够一起来完好。

    项目地址:https://github.com/defshine/SpringBlog

    项目主要使用SpringMVC和Hibernate,后台数据库使用MySQL。前端使用Tiles和Boostrap。

    初步的设计,比較简单,数据设计,设计的pdm文件也在github上:

        

    眼下后台管理主要设计实现四个功能模块:

       1.发表文章。

       2.文章管理

       3.分类管理

       4.评论管理

 

    眼下实现的功能比較简单,在开发的过程中也遇到了一些小问题。

    问题一:org.hibernate.HibernateException: No Session found for current thread

         一開始集成springmvc和hibernate的时候,遇到这个问题,各种搜索,主要有两个原因:

         1.sessionFactory的配置位置是否正确。

         在web.xml中   

                                     

应该配置在business-config中,而不是在mvc-core-config中。所以,要理清context的关系。这样的配置,sessionFactory会在rootWebApplicationContext中管理,而mvc是由子WebApplicationContext进行管理。

2.spring的事务配置是否正确。

        首先是在xml中配置使用正确,是否使用正确注解。

       

    然后,在service层相关的方法中,使用@Transactional注解。

   而自己出现故障是在配置这个文件时,在头部引用了错误的xmlns。

 

    问题二:springmvc无法获取PUT和DELETE请求的參数。

    因为在设计API时候,參考了restful设计原则,更新和删除的时候使用PUT和DELETE请求,结果在cotroller的方法中无法通过httpServletRequest或者@ RequestParam注解获取请求參数。一种比較好的解决方法是使用@RequestBody注解获取參数。

    在排查问题时候,再次感受谷歌搜索到强大。吐槽一下垃圾百度。

    兴许的开发:

    首先,完毕blog的展示,眼下前端页面已经做好。

    然后,使用Spring中的知识点优化细节,如:国际化、主题等等。

    最后,将这个小系统的一些功能细节完好,如:分页等等。