Sping3+Hibernate4整合使用全注解方式时,查数据时总是出错:No Session found for current thread。
web.xml中也加了如下配置,但是还是不行。
<filter>
<filter-name>openSessionInViewFilter</filter-name>
<filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
<init-param>
<param-name>singleSession</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>openSessionInViewFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<filter-name>openSessionInViewFilter</filter-name>
<filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
<init-param>
<param-name>singleSession</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>openSessionInViewFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
测试了多次之后发现,是因为以上这段过滤器放在了struts过滤器之后,必须要放在之前。因为过滤器的执行顺序是按配置顺序依次执行的。
<!-- openSessionInViewFilter --> <filter> <filter-name>openSessionInViewFilter</filter-name> <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class> <init-param> <param-name>singleSession</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>openSessionInViewFilter</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping> <!-- Struts2 Filter --> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> <init-param> <param-name>config</param-name> <param-value>struts-default.xml,struts-plugin.xml,../config/struts-config.xml</param-value> </init-param> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping>
这个问题搞了好久。坑爹啊。
相关推荐
3. **连接点(Join Point)**:连接点是程序执行的特定点,例如方法的调用。在Java中,通常是方法的执行。 4. **切入点(Pointcut)**:切入点是匹配连接点的表达式,定义了通知何时应用。可以使用`@Pointcut`注解...
综上所述,"Spring+Hibernate+注解项目配置" 主要涉及 Spring 的注解驱动开发、Hibernate 的对象映射以及两者的集成,构建了一个完整的基于注解的Java Web项目结构。通过合理配置和使用这些注解,可以显著提高开发...
Spring AOP注解方式是Spring框架提供的一种面向切面编程的实现方式,它允许开发者在不修改原有业务代码的情况下,插入额外的功能,如日志记录、性能监控、安全控制、事务管理和异常处理等。这种方式极大地简化了代码...
Struts 2引入了注解,使得开发者可以更方便地在Action类和方法上定义行为,如`@Action`, `@Results`, `@Param`等,减少了XML配置的复杂性。 **Spring** 是一个全面的后端应用程序框架,它不仅支持依赖注入(DI,...
一、系统介绍 ...数据库框架:Sping Data JPA 数据库:MySql 项目构建工具:Maven 前端模板:html 3.本项目所用环境: 开发工具:IDEA 编程语言:JDK1.8,HTML,CSS,JS,jQuery 数据库:mysql5.7以上
sping注解开发总结,基于注解开发,Spring的IOC的注解开发, Spring的AOP的基于AspectJ的XML的开发。
健身房管理系统,一款基于SpringBoot,Sping Data JPA,Shiro,BootStrap,Layui的前后端项目 主要功能如下: 管理员登录模块 会员管理模块 教练管理模块 课程管理模块 器材管理模块 物品遗失管理模块 商品管理模块 信息...
数据库框架:Sping Data JPA 数据库:MySql 项目构建工具:Maven 前端模板:JSP 安全框架:Shiro 前端框架:BootStrap,Layui 数据图表:ECharts 3.本项目所用环境: 开发工具:IDEA 编程语言:JDK1.8,HTML,CSS,JS,...
MyBatis 3 引入了更强大的注解支持,可以避免XML配置,使得数据库操作更加简洁直观。同时,MyBatis 支持动态SQL,提高了SQL查询的灵活性。 4. **Redis 2.8**: Redis 是一种高性能的键值存储系统,常用于缓存。在...
一、系统介绍 ...数据库框架:Sping Data JPA 数据库:MySql 项目构建工具:Maven 前端模板:html 3.本项目所用环境: 开发工具:IDEA 编程语言:JDK1.8,HTML,CSS,JS,jQuery 数据库:mysql5.7以上
Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2
- **ConfigLoad.txt**:这可能是关于配置加载逻辑的文件,Spring支持通过XML、Java配置或@Configuration注解的方式来加载和管理配置。在这个场景下,它可能涉及到如何加载和使用上述的加密解密配置和数据库连接池...
Spring通过`@Scheduled`注解和`TaskScheduler`接口,允许开发者轻松地实现定时任务,这对于执行周期性任务、数据清理、报告生成等场景非常有用。 在Spring中,定时任务的两种主要方式是: 1. **基于注解的定时任务...
数据库框架:Sping Data JPA 数据库:MySql 项目构建工具:Maven 前端模板:JSP 安全框架:Shiro 前端框架:BootStrap,Layui 数据图表:ECharts 3.本项目所用环境: 开发工具:IDEA 编程语言:JDK1.8,HTML,CSS,JS,...
开发人员可以利用Spring提供的注解驱动开发,例如`@Autowired`进行依赖注入,`@Service`、`@Repository`和`@Controller`进行服务、数据访问和Web层的标记,以及`@Transactional`实现事务管理。 总的来说,Spring...
数据库框架:Sping Data JPA 数据库:MySql 项目构建工具:Maven 前端模板:JSP 安全框架:Shiro 前端框架:BootStrap,Layui 数据图表:ECharts 3.本项目所用环境: Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ...
### Java包上的注解 #### 知识点一:Java注解基础 在Java中,注解(Annotation)是一种元数据,它提供了一种安全的方法来关联程序元素(如类、方法、变量等)的额外信息。注解本身不会改变程序的行为,但可以被...
sping3 spring-beans 类图 chm
例如,我们可以使用`@Autowired`注解自动装配bean,或者在XML配置文件中声明bean及其依赖关系。 其次,Spring的AOP模块允许我们在不修改源代码的情况下,对程序进行横切关注点(如日志、事务管理)的处理。通过定义...