我所使用的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>
分享到:
相关推荐
设置Session属性和值可以使用`session.setAttribute(String name, Object value)`,而读取属性则使用`session.getAttribute(String name)`。注意,Session有一个默认的超时时间,超过这个时间未有任何操作,Session...
2. **为什么需要Session拦截器?** 在某些情况下,我们希望确保每个请求都带有有效的用户信息,例如,限制未登录用户访问受保护的页面。通过实现Session拦截器,可以在请求被处理之前检查Session中是否存在必要的...
本案例源码着重展示了如何在实际项目中运用 SpringMVC 进行 Session 的管理,以及实现登录功能,同时也涉及到 MyBatis 框架的使用。以下是关于这些知识点的详细讲解。 1. **SpringMVC 框架**: SpringMVC 是一种...
标题中的“osgi session共享 支持springmvc 配置个filter即可”表明我们要讨论的是在OSGi(Open Service Gateway Initiative)环境中,如何通过Spring MVC并利用Filter来实现多个服务之间的Session共享。OSGi是一种...
如果发现session为空或者获取的标识信息为null,那么我们可以判断session已经失效。此时,我们应该使用`HttpServletResponse`的`sendRedirect()`方法,将用户重定向到登录页面,如`sessionrun.jsp`。 在`sessionrun...
在这个“springmvc+session+增删改查+登录案例”中,我们将深入探讨这些关键概念。 首先,Spring MVC 框架的核心组件包括DispatcherServlet、Controller、Model、View和ViewResolver。DispatcherServlet是整个流程...
在Java Web开发中,特别是使用SpringMVC框架时,管理用户的会话(session)是确保应用安全的重要环节。为了维护会话的有效性,防止未授权访问,开发者常常需要实现监听session是否过期的功能。在SpringMVC中,可以...
本示例"spring+springmvc+hibernate+redis实现session共享demo"旨在演示如何利用Spring、SpringMVC、Hibernate和Redis来实现高效的session共享机制。下面将详细阐述这个过程中涉及的关键技术和步骤。 1. **Spring...
- **实例化方式**:SpringMVC 默认使用单例模式(可配置为多例),而 Struts2 只能使用多例模式。 - **性能对比**:由于 SpringMVC 的单例模式和更轻量的设计,理论上其性能优于 Struts2。 #### SpringMVC 执行流程...
在企业级开发中,SpringMVC 是一个广泛使用的框架,用于构建高效、模块化和可测试的 Web 应用程序。本实验报告将探讨如何利用 SpringMVC 的拦截器(Interceptor)来实现用户登录权限验证,确保只有已登录的用户才能...
本案例旨在教你如何配置和使用SpringSession与Redis来达到这一目的。 首先,我们需要理解Session的基本概念。Session是在服务器端存储用户状态的一种方式,通常用于管理用户的登录信息、购物车等数据。然而,在单体...
SpringMVC整合SpringSession实现session共享 SpringMVC是基于Java语言的Web应用框架,提供了构建Web应用程序的模型视图控制器(MVC)架构模式。SpringSession是Spring框架中的一部分,提供了会话管理的功能。在...
**SpringMVC详解** SpringMVC是Spring框架的一部分,它是一个模型-视图-控制器(MVC)架构的实现,用于构建Web应用程序。SpringMVC通过解耦控制器、业务逻辑和服务层,使得开发者可以更专注于应用程序的核心功能。...
以上就是使用`SessionListener`、持久化`Session`和`Springmvc拦截器`实现单点登录的基本原理和实现步骤。通过这样的设计,可以有效地提升用户体验,同时确保系统的安全性。在实际项目中,还需要根据具体需求进行...
本教程将深入探讨 SpringMVC 的核心功能和使用方法。 ### 第 1 章 SpringMVC 概述 SpringMVC 旨在简化 Web 开发,通过解耦控制器、服务、业务逻辑和视图,提高代码的可测试性和可维护性。其核心组件包括 ...
在构建Web应用程序时,开发者经常会选择使用成熟的框架组合来提高开发效率和系统性能。本项目采用了Spring 4、Spring MVC、MyBatis 3、Redis 2.8 和 Spring Session 进行集成,构建了一个高效且可扩展的系统。下面将...
在上面的例子中,`getUser`方法返回一个`User`对象,SpringMVC会使用Jackson将其转换为JSON格式并返回给客户端。 总结,SpringMVC中的`@ResponseBody`配合Jackson库,使得开发人员可以方便地处理JSON数据。`...
结合使用SpringMVC和Ajax,可以实现异步数据交互,提高用户体验。 在SpringMVC中,Ajax请求通常涉及到以下几个关键步骤: 1. **前端准备**: - 首先,你需要在HTML页面中引入jQuery库,因为它是广泛使用的...
在“使用SpringMVC做的小项目”中,我们可以深入探讨SpringMVC的关键特性和它如何与Spring和Hibernate集成,以实现高效的数据持久化。 首先,SpringMVC的核心是DispatcherServlet,它作为请求的前端控制器,接收...
在Spring配置文件中,设置`DynamicDataSource`为主数据源,这样所有未指定数据源的数据库操作都将默认使用它。 ```xml ``` 4. **事务管理器配置** 使用`PlatformTransactionManager`来处理多数据源的事务...