哪位大哥帮帮忙帮我看一下 我的配置文件哪儿写错了  注入不了<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <bean id="propertyConfigurer"  
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">   
<property name="location">   
<value>/WEB-INF/jdbc.properties</value>   
</property>   
</bean> 
<bean id="dataSource"  
class="org.springframework.jdbc.datasource.DriverManagerDataSource">   
<property name="driverClassName">   
<value>${jdbc.driver}</value>   
</property>   
<property name="url">   
<value>${jdbc.url}</value>   
</property>   
<property name="username">   
<value>${jdbc.user}</value>   
</property>   
<property name="password">   
<value>${jdbc.password}</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>org/ethip/catalog/model/User.hbm.xml</value>
</list>
</property>
</bean>

 <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
   <property name="sessionFactory">
    <ref local="sessionFactory"/>
   </property>
 </bean>
<bean id="userDao" class="org.ethip.catalog.dao.UserDaoImpl">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean> <bean id="userService" class="org.ethip.catalog.service.UserServiceImpl">
<property name="userDao">
<ref bean="userDao"/>
</property>
</bean></beans>  


解决方案 »

  1.   

    什么错误呢?空指针?
    你的UserDaoImpl.java如何写的,帖出来看看
      

  2.   

    UserServiceImpl.java代码:package org.ethip.catalog.service;import java.util.List;import org.ethip.catalog.dao.IUserDao;
    import org.ethip.catalog.model.User;public class UserServiceImpl implements IUserService {

    private IUserDao userDao; public void delete(User user) {
    userDao.delete(user);
    } public List findAll() {
    return userDao.findAll();
    } public User findById(Integer id) {
    return userDao.findById(id);
    } public void test(){
    try{
    User user = new User();
    user.setUsername("tbx");
    user.setPassword("234");
    userDao.save(user);
    }catch(Exception e){
    e.printStackTrace();
    }
    }

    public void save(User user) {
    this.userDao.save(user);
    } public void update(User user) {
    userDao.update(user);
    } public IUserDao getUserDao() {
    return userDao;
    } public void setUserDao(IUserDao userDao) {
    this.userDao = userDao;
    }}
    其中调用dao.save(user) 报空指针dao的值是空的
      

  3.   

    异常信息就是空指针  applicationContext.xml 文件启动的时候没报错误只有调用到serviceImpl类里调用dao里的方法的时候会报错 报错原因是dao为空  userServiceImpl.java里userDao为空public void save(User user) { 
      userDao.save(user); 
      

  4.   

    java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.ethip.catalog.utils.FlexSpringService.operate(FlexSpringService.java:50)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at flex.messaging.services.remoting.adapters.JavaAdapter.invoke(JavaAdapter.java:421)
    at flex.messaging.services.RemotingService.serviceMessage(RemotingService.java:183)
    at flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:1503)
    at flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:884)
    at flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBrokerFilter.java:121)
    at flex.messaging.endpoints.amf.LegacyFilter.invoke(LegacyFilter.java:158)
    at flex.messaging.endpoints.amf.SessionFilter.invoke(SessionFilter.java:44)
    at flex.messaging.endpoints.amf.BatchProcessFilter.invoke(BatchProcessFilter.java:67)
    at flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:146)
    at flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:278)
    at flex.messaging.MessageBrokerServlet.service(MessageBrokerServlet.java:322)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: java.lang.NullPointerException
    at org.ethip.catalog.service.UserServiceImpl.save(UserServiceImpl.java:36)
    ... 35 more
      

  5.   

    at org.ethip.catalog.service.UserServiceImpl.save(UserServiceImpl.java:36) at org.ethip.catalog.utils.FlexSpringService.operate(FlexSpringService.java:50) 好象这两个类里有问题
      

  6.   

    用userDao其他的方法也是有错吧?
    你查下配置文件里的userDao的属性<property name="sessionFactory">
    <ref bean="sessionFactory"/>
    </property> 
    这个东西如果没有注入成功,你的userDao对象也生成不了
      

  7.   

    <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>org/ethip/catalog/model/User.hbm.xml </value> 
        </list> 
        </property> 
    </bean> <bean id="userDao" class="org.ethip.catalog.dao.UserDaoImpl"> 
         <property name="sessionFactory"> 
              <ref bean="sessionFactory"/> 
          </property> 
    </bean> <bean id="userService" class="org.ethip.catalog.service.UserServiceImpl"> 
          <property name="userDao"> 
              <ref bean="userDao"/> 
          </property> 
    </bean>**********  dao层的实现类UserDaoImpl.java ******************、
    package org.ethip.catalog.dao;import java.util.List;import org.ethip.catalog.model.User;
    import org.springframework.orm.hibernate3.support.HibernateDaoSupport;public class UserDaoImpl extends HibernateDaoSupport implements IUserDao {
    public void save(User user) {
    if (user != null) {
    getHibernateTemplate().save(user);
    }
    } public void delete(User user) {
    getHibernateTemplate().delete(user);
    } public User findById(java.lang.Integer id) {
    return (User) getHibernateTemplate().get(
    "org.ethip.catalog.model.User", id);
    } public List findAll() {
    return getHibernateTemplate().find("from User");
    }

    public void update(User user) {
    getHibernateTemplate().update(user);
    }
    }