Caused by: java.lang.IllegalArgumentException: 'sessionFactory' or 'hibernateTemplate' is required,原来使用过配置文件的方式,这次使用了注解竟然出现这个纠结的问题,找了好久发现没有什么不对的啊,但终究还是不对,好吧无奈求助百度,结果发现这种错误真不少,这个情况跟我的一样。。。如何设置sessionFactory呢?项目中所有Dao实现类都继承了HibernateDaoSupport实现接口
根据提示是没有'sessionFactory' 或者'hibernateTemplate',但是通过下面代码给他注解了还是报同样的错误:
@Resource
private org.hibernate.SessionFactory sessionFactory;
结果查看HibernateDaoSupport的源代码得知:setSessionFactory方法是:
public final void setSessionFactory(SessionFactory sessionFactory) {
if (this.hibernateTemplate == null || sessionFactory != this.hibernateTemplate.getSessionFactory()) {
this.hibernateTemplate = createHibernateTemplate(sessionFactory);
}
}
说明在子类中想通注解设置 sessionFactory (重写setter方法是不行的),那么怎么办,我们只能通过super.setSessionFactory ()调用
@Resource(name="sessionFactory")
private void setMySessionFactory(SessionFactory sessionFactory){
//这个方法名可以随便写,@Resource可以通过name 或者type来装载的。
super.setSessionFactory(sessionFactory);
}
谢谢他啊,问题解决。。
相关推荐
13. **Spring Data JPA和Spring Data MongoDB**:Spring提供了与数据库交互的便捷方式,例如通过@Query注解执行自定义SQL或HQL,以及使用MongoDB的数据访问注解。 以上是Spring注解应用的一些关键知识点,通过这个...
Spring 4 注解是 Java 开发中用于简化配置和增强代码可读性的核心特性,尤其在企业级应用程序开发中占据着重要地位。Spring 框架通过注解提供了丰富的功能,使得开发者无需编写大量XML配置就能实现依赖注入、AOP...
DWR (Direct Web Remoting) 是一个开源Java库,它允许在浏览器和服务器之间进行实时、双向通信,使得JavaScript可以直接调用服务器端的Java方法,实现了富客户端应用。Spring框架则是一个广泛使用的全面的企业级应用...
在Spring中,异常处理可以通过声明式方式,如使用@ControllerAdvice注解,或者通过编程式方式,如自定义异常翻译器和处理器来实现。这些方法可以帮助我们优雅地处理和报告应用程序中出现的错误。 【压缩包子文件的...
9. **@Autowired required**:`@Autowired`注解默认的`required`属性为`true`,表示如果找不到匹配的Bean会抛出异常。可以设置`required=false`,表示找不到依赖时不抛异常,允许该属性为null。 10. **自动装配与...
mybatis的注解方式工程,导入resource下的mysql创建数据库即可运行,含有一对一模式 pringCloud+mybatis的注解方式的代码,只有数据库配置文件,mybatis无需mapper.xml,全注解方式
NULL 博文链接:https://conkeyn.iteye.com/blog/2195942
在 SpringBoot 项目中,AspectJ 是一种常用的 AOP 实现方式,通过使用 AspectJ 注解,可以轻松地实现方法拦截和增强。下面将详细介绍 SpringBoot AOP 拦截器的实现方式。 一、 Filter、HandlerInterceptor 和 ...
此外,`HibernateTemplate`还支持`HibernateCallback`接口,允许开发者在回调方法`doInHibernate(Session session)`中使用原生的Hibernate API,以应对更复杂的数据访问需求。这种方法确保了灵活性,即使在Spring的...
声明式事务管理则通过AOP(面向切面编程)实现,开发者只需在方法上添加@Transactional注解,即可实现事务管理,这种方式更加简洁,易于维护。 Spring事务管理的隔离级别有以下五种:读未提交(READ UNCOMMITTED)...
5. **注解驱动的配置**:随着Java注解的发展,Spring也开始支持注解方式配置,这种方式更简洁,更易于维护。 6. **Spring AOP**:介绍如何使用面向切面编程实现日志记录、事务管理等跨切面关注点。 7. **Spring ...
1. `@Cacheable` 注解:这个注解可以应用在方法上,表示该方法的返回结果应该被缓存。当方法被调用时,如果缓存中存在相应的键值,则会从缓存中返回结果,避免了重复计算。 2. `@CacheEvict` 注解:用于清除缓存中...
在Spring中,可以通过SessionFactory和Session接口进行数据操作,同时,Spring的HibernateTemplate或JPA(Java Persistence API)可以帮助我们更方便地进行事务管理和数据操作。 在压缩包的文件名称列表中提到的"12...
HibernateTemplate会处理Hibernate Session的打开和关闭以及异常转换等问题,开发者可以使用该模板来简化Hibernate的使用。 - **RedisTemplate**:用于简化Redis操作的模板,提供了丰富的API来处理Redis中的数据结构...
13. **Spring Security与Spring MVC集成**:两者结合可以方便地在Web应用程序中实现安全控制,例如,通过`@Secured`或`@PreAuthorize`注解进行方法级别的访问控制。 综上所述,Spring 3.0和Spring Security 3.0.1...
1. **缓存**:Spring Data Redis常被用作缓存解决方案,例如,使用RedisTemplate或StringRedisTemplate存储和检索对象,提高数据访问速度。 2. **队列**:利用Redis的List数据结构,可以构建简单的消息队列,实现...
4. **依赖注入的方式**:包括通过setter方法、constructor构造函数、接口依赖、@Autowired注解等方式进行依赖注入的示例和解释。 5. **作用域**:讲解Bean的不同作用域,如singleton、prototype、request、session...
很抱歉,根据您提供的信息,"pring初探共18页.pdf.zip" 和 "pring初探共18页.pdf." 看起来像是一个关于Spring框架的教程文档,但是具体的文件列表只提到了 "赚钱项目",这与Spring框架的学习内容不直接相关。...