ItGo.me - 专注IT技术分享

首页 > Spring > Spring MVC > SpringMVC使用OpenSessionInView提示Session的FlushMode为只读

SpringMVC使用OpenSessionInView提示Session的FlushMode为只读

时间:2016-02-21来源:网友分享 点击:

     我所使用的SpringMVC是基于注解的,Controller是用@Controller注解标记的,而service和dao都是用的@Component标记的,由于配置上的一点小失误导致事务没有加上去,所以才会提示FlushMode为只读。解决方法是,把service和Controller分开管理,不用通用的Component,这样在加载SpringMVC配置文件的时候就只实例化Controller对象,在加载spring配置文件的时候就只实例化service对象。总之,如果事务是加在service上,那么就需要把service和Controller加以区别,而dao对象在什么时候初始化都可以,可以继续使用通用的Component注解。

 

修改后的配置文件的写法如下:

SpringMVC配置文件:

<context:component-scan base-package="com.tiantian" ><!--  将service排除在外,意味着这个时候不初始化service--><context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/></context:component-scan>

 

spring配置文件:

<context:component-scan base-package="com.tiantian" ><!--  将controller排除在外,意味着这个时候不初始化controller--><context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan>

 

 

 

 


springMVC对异常处理的支持

无论做什么项目,进行异常处理都是非常有必要的,而且你不能把一些只有程序员才能看懂的错误代码抛给用户去看,所以这时候进行统一的异常处理,展现一个比较友好的错误页面就显得很...

springMVC上传文件

    在使用springMVC进行系统实现时,springMVC默认的解析器里面是没有加入对文件上传的解析的,这可以方便我们实现自己的文件上传。但如果你想使用springMVC对文件上传的解析器来处理文件上...

springMVC自定义属性编辑器

自定义springMVC的属性编辑器主要有两种方式,一种是使用@InitBinder标签在运行期注册一个属性编辑器,这种编辑器只在当前Controller里面有效;还有一种是实现自己的 WebBindingInitializer,然后定义...

     我所使用的SpringMVC是基于注解的,Controller是用@Controller注解标记的,而service和dao都是用的@Component标记的,由于配置上的一点小失误导致事务没有加上去,所以才会提示FlushMode为只读。解
------分隔线----------------------------
推荐文章