当前位置: 代码迷 >> J2EE >> struts2 spring 无法注入 bean,该怎么处理
  详细解决方案

struts2 spring 无法注入 bean,该怎么处理

热度:122   发布时间:2016-04-19 22:48:01.0
struts2 spring 无法注入 bean
注册的aciton 文件  该文件的regiestserviceimpl属性始终为null  spring文件明明已经配置了 注入该属性


package action;
import service.Regiestservice;
import domain.Users;
public class regiest  {

private Users users;
         private Regiestservice regiestserviceimpl;

    
public Users getUsers() {
return users;
}

public void setUsers(Users users) {
this.users = users;
}


public void setRegiestserviceimpl(Regiestservice regiestserviceimpl) {
this.regiestserviceimpl = regiestserviceimpl;
}

public String regiestaction()
{
System.out.println(regiestserviceimpl);
return "success";
}


}


dao实现层文件 无用代码删了 就一个注册 保存用户数据的方法

package daoimpl;

import java.util.List;
import java.util.Set;
import org.hibernate.LockMode;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import dao.UsersDAO;
import domain.Users;
public class UsersDAOimpl extends HibernateDaoSupport implements UsersDAO {
private static final Logger log = LoggerFactory.getLogger(UsersDAOimpl.class);
protected void initDao() { }

public void save(Users transientInstance) {
log.debug("saving Users instance");
try {
getHibernateTemplate().save(transientInstance);
log.debug("save successful");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
}


public static UsersDAO getFromApplicationContext(ApplicationContext ctx) {
return (UsersDAO) ctx.getBean("UsersDAO");
}
}



业务层实现 

package serviceimpl;


import service.Regiestservice;
import dao.UsersDAO;
import daoimpl.UsersDAOimpl;
import domain.Users;

public class Regiestserviceimpl implements Regiestservice {

private UsersDAO usersDAO;

public UsersDAO getUsersDAO() {
return usersDAO;
}

public void setUsersDAO(UsersDAO usersDAO) {
this.usersDAO = usersDAO;
}

public boolean regiest(Users user)
{
usersDAO.save(user);
                  return true;

}

}



spring的配置文件 applicationcontext.xml


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">


<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver">
</property>
<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:sky">
</property>
<property name="username" value="shop"></property>
<property name="password" value="shop"></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.Oracle9Dialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>domain/Users.hbm.xml</value>
<value>domain/Dishes.hbm.xml</value>
<value>domain/Orders.hbm.xml</value>
<value>domain/Detail.hbm.xml</value>
</list>
</property>
</bean>
<bean id="UsersDAO" class="daoimpl.UsersDAOimpl">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>

<bean id="serviceregiest" class="serviceimpl.Regiestserviceimpl">
<property name="usersDAO">
<ref bean="UsersDAO" />
</property>
</bean>

<bean id="actionregiest" class="action.regiest">
<property name="regiestserviceimpl">
<ref bean="serviceregiest" />
</property>
</bean>

</beans>
  相关解决方案