sessionFactory为空之spring依赖注入
来源:互联网 发布:水上交通安全网络竞赛 编辑:程序博客网 时间:2024/06/02 07:38
开门见山,spring整合hibernate出现了获得的SessionFactory对象为空。
model类,由hibernate在数据库中帮我创建一张user表。
@Entitypublic class User {private int id;private String username;private String password;@Id@GeneratedValue(strategy=GenerationType.IDENTITY)public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}
}
dao类,将测试类传过来的user插入数据库中。@Repository后面的参数"userDao"表示我这个类以userDao这个名字由spring管理。
@Repository("userDao")public class UserDao {private SessionFactory sessionFactory;public SessionFactory getSessionFactory() {return sessionFactory;}@Resourcepublic void setSessionFactory(SessionFactory sessionFactory) {this.sessionFactory = sessionFactory;}public void addUser(User u) {Session session = sessionFactory.openSession();u.setUsername("曹操");u.setPassword("fuckcao");session.getTransaction().begin();session.save(u);session.getTransaction().commit();}}
test类,测试userDao中的addUser()方法。
public class UserTest {@Testpublic void addUser() {ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");UserDao userDao = new UserDao();User u = new User();userDao.addUser(u);}}到这里,运行测试类报错,发现sessionFactory为null,原因就是:UserDao对象是我们自己new出来的,不是交给spring代理生成的,所以UserDao中的sessionFactory当然无法由spring帮我们注入了,改成如下测试即可:
将UserDao对象交给spring帮我们注入,测试通过。
public class UserTest {@Testpublic void addUser() {ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");UserDao userDao = ctx.getBean("userDao", UserDao.class);User u = new User();userDao.addUser(u);}}最后就是配置文件:
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx" xmlns:p="http://www.springframework.org/schema/p"xmlns:util="http://www.springframework.org/schema/util"xsi:schemaLocation=" http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"><context:component-scan base-package="com"></context:component-scan><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver" /><property name="url" value="jdbc:mysql://localhost:3306/springHibernate" /><property name="username" value="root" /><property name="password" value="root" /></bean><bean id="sessionFactory"class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"><property name="dataSource"><ref bean="dataSource" /></property><property name="AnnotatedClasses"><list><value>com.model.User</value></list></property><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop><prop key="hibernate.show_sql">true</prop><!-- 是否根据需要每次自动创建数据库 --><prop key="hibernate.hbm2ddl.auto">create</prop><!-- 显示Hibernate持久化操作所生成的SQL --><prop key="hibernate.show_sql">true</prop></props></property></bean></beans>
0 0
- sessionFactory为空之spring依赖注入
- Spring注入SessionFactory的空指针异常
- Spring注入SessionFactory的空指针异常
- Spring注入SessionFactory的空指针异常
- spring hibernate整合时SessionFactory为空
- spring之依赖注入
- Spring之依赖注入
- spring 之依赖注入
- Springmvc bean依赖注入为空
- spring 项目多线程 依赖注入 空指针
- 使用spring的aop实现权限拦截后出现依赖注入为空的问题
- 使用spring的aop实现拦截action后出现依赖注入为空的问题
- Spring注入SessionFactory问题
- SSH2注入SessionFactory 空指针
- spring IOC之依赖注入
- spring 之 ioc(依赖注入)
- Spring学习之依赖注入
- SPRING之注入依赖种类
- 循环链表
- 物联网系统——远征军的战略图
- KMP模式匹配算法浅析[转]
- javaweb学习总结(四)——Http协议
- 双向链表
- sessionFactory为空之spring依赖注入
- Haoop , Spark安装实例教程--Spark安装
- 最优化方法—一维搜索
- 安全的本质
- 4.2、从RDBMS向Neo4j导数据【专题四:数据处理】
- Light OJ 1245 - Harmonic Number (II) 【规律】
- Jenkins部署Maven项目时提示找不到JDK问题的解决方案
- Target/Action 设计模式
- soj 1162: I-Keyboard(dp + 记忆化搜索)