action 进去了
private UserManager userImpl;

public void setUserImpl(UserManager userImpl) {
this.userImpl = userImpl;
} @Override
public String execute() throws Exception {

HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("utf-8"); 
PrintWriter out = response.getWriter(); 
String userName = request.getParameter("username"); 
System.out.println(userName+"===ajax调用=====");
List<Goodsuser> list = userImpl.showUser();
已经获得了对象,转向业务
public interface UserManager {

public List showUser();
实现业务类
public  class UserManagerImpl implements UserManager {

private UserDao userdao; public void setUserdao(UserDao userdao) {
this.userdao = userdao;
} public List<Goodsuser> showUser() {
// TODO Auto-generated method stub
System.out.println("========业务调用了=======");
无法调用dao
List<Goodsuser> list = userdao.showUser();
dao 接口
[code=java]public interface UserDao {

public List showUser();
实现类
public class UserDaoImpl extends HibernateDaoSupport implements UserDao {
public List<Goodsuser> showUser() {
System.out.println("+++++++++++没调用+++++++++++++++++");
try {
String hql = "from Goodsuser";
return getHibernateTemplate().find(hql);
} catch (DataAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Srping 配置文件
<!--  DAO -->
<bean id="userDAO" class="com.lkx.dao.impl.UserDaoImpl">
<property name="sessionFactory"> <!-- bean 中的声明 -->
<ref bean="sessionFactory" /> <!-- 所注入的bean -->
</property>
</bean>
业务
<bean id="users" class="com.lkx.service.impl.UserManagerImpl">
<property name="userdao">
<ref bean="userDAO" />
</property>
</bean><bean id="userManagerImp" class="com.lkx.service.impl.UserManagerImpl"></bean>
<bean id="ajaxUsersAction" class="com.lkx.action.AjaxUsersAction">
<property name="userImpl" ref="userManagerImp"></property>
</bean>
框架SSHJavaBean

解决方案 »

  1.   

    貌似是大小写问题 建议你userDao 类也好 配置文件也好 都用统一的
      

  2.   

    配置文件里面的userDAO java 中写的是userdao
      

  3.   

    Dao中bean的id 应该写实现类中定义的UserDao的对象名
      

  4.   

    为啥你要注入两次class="com.lkx.service.impl.UserManagerImpl"
      

  5.   

        去掉后面的那个
        <bean id="ajaxUsersAction" class="com.lkx.action.AjaxUsersAction">
            <property name="userImpl" ref="users"></property>
        </bean>
      

  6.   


    .... 不是这样的。 只是命名的问题、<bean id="users" class="com.lkx.service.impl.UserManagerImpl">         <property name="userdao">             <ref bean="userDAO" />         </property>     </bean>   <bean id="userManagerImp" class="com.lkx.service.impl.UserManagerImpl"></bean>这里貌似有点重复了把?