applicationContext.xml 文件--------------------------------------------------<beans>
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>org.gjt.mm.mysql.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/tie</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>wyvern</value>
</property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>test/User.hbm.xml</value></list>
</property></bean>
<bean id="UserDAO" class="test.UserDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean></beans>数据库文件-------------------------------------------------------------------------------
CREATE TABLE `user` (
`id` int(11) NOT NULL,
`username` varchar(10) default NULL,
`password` varchar(10) default NULL,
`email` varchar(10) default NULL,
PRIMARY KEY (`id`)
)用到的DAO--------------------------------------
public void save(User transientInstance) {
log.debug("saving User instance");
try {
getHibernateTemplate().save(transientInstance);
log.debug("save successful");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
}主函数--------------------------
public class test { /**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
User u=new User();
UserDAO d=new UserDAO();
u.setId(1);
d.save(u);
}}
报异常----------------------
Exception in thread "main" java.lang.NullPointerException
at test.UserDAO.save(UserDAO.java:31)
at test.test.main(test.java:13)
我单独要Hibernat 的basic DAO好使,可是用Sprig DAO时候就出现上边的异常,请大侠指教!!!!!!!
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>org.gjt.mm.mysql.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/tie</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>wyvern</value>
</property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>test/User.hbm.xml</value></list>
</property></bean>
<bean id="UserDAO" class="test.UserDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean></beans>数据库文件-------------------------------------------------------------------------------
CREATE TABLE `user` (
`id` int(11) NOT NULL,
`username` varchar(10) default NULL,
`password` varchar(10) default NULL,
`email` varchar(10) default NULL,
PRIMARY KEY (`id`)
)用到的DAO--------------------------------------
public void save(User transientInstance) {
log.debug("saving User instance");
try {
getHibernateTemplate().save(transientInstance);
log.debug("save successful");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
}主函数--------------------------
public class test { /**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
User u=new User();
UserDAO d=new UserDAO();
u.setId(1);
d.save(u);
}}
报异常----------------------
Exception in thread "main" java.lang.NullPointerException
at test.UserDAO.save(UserDAO.java:31)
at test.test.main(test.java:13)
我单独要Hibernat 的basic DAO好使,可是用Sprig DAO时候就出现上边的异常,请大侠指教!!!!!!!
所以,DAO就得不到SPRING注入的sessionFactory,保存时自然报空指针
不过如果你是想测试一下,在这个Test类里是需要获得SPRING的配置文件,
加载到内存中,就可以了
ApplicationContext applicationContext = new FileSystemXmlApplicationContext("applicationContext.xml");//SPRING配置文件路径,有包的话这样写("org/aaa/applicationContext.xml");
UserDAO userDAO = (UserDAO) applicationContext.getBean("UserDAO");