小白提问ssh sping相关问题

龍舞八方 2014-03-22 04:58:56


public class IndexAction extends ActionSupport {

private BaseDAO<IndexRecommend> IndexRecommend = new BaseDAO<IndexRecommend>();
private BaseDAO<DownloadList> DownloadList = new BaseDAO<DownloadList>();
private BaseDAO<WebNotice> WebNotice = new BaseDAO<WebNotice>();
private List<IndexRecommend> index_recommend = new ArrayList<IndexRecommend>();
private List<WebNotice> web_notice = new ArrayList<WebNotice>();
private List<DownloadList> download_list = new ArrayList<DownloadList>();

public String recommend() throws Exception {
index_recommend = IndexRecommend.list(" from IndexRecommend order by hot desc ");
return "recommend";
}

public String notice() {
web_notice = WebNotice.list(" from WebNotice where type='1' order by date desc ");
return "notice";
}

public String download() {
download_list = DownloadList.list(" from DownloadList order by total desc ");
return "download";
}

}




applicationContext-beans.xml

<bean name="indexAction" class="com.it8.action.IndexAction" scope="prototype">
</bean>
<bean name="articleAction" class="com.it8.action.ArticleAction" scope="prototype">
</bean>

<bean name="indexDao" class="com.it8.dao.IndexDaoImp">
<property name="sessionFactory" ref="sessionFactory" />
</bean>

<bean name="articleDao" class="com.it8.dao.ArticleDaoImp">
<property name="sessionFactory" ref="sessionFactory" />
</bean>


[code=JSP]
<s:action name="index_recommend" flush="true" executeResult="true" ></s:action>
[/code]

以上代码是问题代码 我能保证struts.xml的配置肯定没问题 action种之前我用的是indexdao hql能查出来数据 换成basedao就抛异常了 但是下面的action用basedao却没问题 请看代码



public class ArticleAction extends ActionSupport {

private static final long serialVersionUID = -5722778083187717369L;
private int aid = 0;
private BaseDAO<Article> baseDAO = new BaseDAO<Article>();
private List<Article> article = new ArrayList<Article>();
private TreeMap<String,Integer> tags_map;
private String key = "";
private int page = 0;
private IArticleManage articleManage;
.......................getset方法省略...............

public String main(){
article = baseDAO.list(" from Article where del_flag = '0' order by cre_date desc ");
return "main";
}

public String hot(){
article = baseDAO.list(" from Article where del_flag = '0' order by pvs desc ");
return "hot";
}

public String recommend(){
article = baseDAO.list(" from Article where recommend ='1' and del_flag = '0' order by cre_date desc ");
return "recommend";
}

public String details(){
article = baseDAO.list(" from Article where id='"+aid+"' and del_flag = '0' ");
return "details";
}

public String list(){
article = baseDAO.list(" from Article where tags like'%"+key+"%' and del_flag = '0' ");
return "list";
}

}


哎呀好紧张 小白都不知道怎么组织语言了
我的意思是什么呢 恩 我细点说
上面的IndexAction 是不好用的代码 ArticleAction 这个是好用的
之前呢 我没用baseDAO 全是各个的dao用hql查询的数据 都没问题 后来我把这些简单的语句改成同意用DAO查询
上面的indexaction中三个其他类型的basedao不好用 应该是spring的配置问题吧 我猜是
而下面的ArticleAction 中basedao类型就是article的 就好用

而且不好用的action中recommend() notice() download() 方法都不进断点 是不是页面里面的s:action 加载的时候就抛异常了

下面贴上异常



严重: Could not execute action: /index_recommend
Unable to instantiate Action, indexAction, defined for 'index_recommend' in namespace ''Error creating bean with name 'indexAction': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.it8.entity.IndexRecommend] found for dependency [collection of com.it8.entity.IndexRecommend]: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.annotation.Resource(shareable=true, mappedName=, description=, name=, type=class java.lang.Object, authenticationType=CONTAINER)}
at com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:319)
at com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:400)
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:194)
at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
at org.apache.struts2.components.ActionComponent.executeAction(ActionComponent.java:289)
at org.apache.struts2.components.ActionComponent.end(ActionComponent.java:175)
at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
at org.apache.jsp.index_jsp._jspx_meth_s_005faction_005f1(index_jsp.java:202)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:113)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:152)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.it8.filter.JspFilter.doFilter(JspFilter.java:27)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.it8.filter.CharsetEncodingFilter.doFilter(CharsetEncodingFilter.java:30)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'indexAction': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.it8.entity.IndexRecommend] found for dependency [collection of com.it8.entity.IndexRecommend]: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.annotation.Resource(shareable=true, mappedName=, description=, name=, type=class java.lang.Object, authenticationType=CONTAINER)}
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:306)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1120)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:314)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1117)
at com.opensymphony.xwork2.spring.SpringObjectFactory.buildBean(SpringObjectFactory.java:151)
at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:151)
at com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:121)
at com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:300)
... 41 more
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.it8.entity.IndexRecommend] found for dependency [collection of com.it8.entity.IndexRecommend]: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.annotation.Resource(shareable=true, mappedName=, description=, name=, type=class java.lang.Object, authenticationType=CONTAINER)}
严重: Could not execute action: /index_notice
同上 省略
严重: Could not execute action: /index_download
同上 省略





求大神解答 蒙圈中
...全文
223 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxax 2014-03-23
  • 打赏
  • 举报
回复
org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 没有配置的bean但是你却用了,抛出异常,检测看下action是否用了没配置的bean数据
Defonds 2014-03-22
  • 打赏
  • 举报
回复
好长 检查下 indexAction 的配置
龍舞八方 2014-03-22
  • 打赏
  • 举报
回复
下面是basedao 应该跟这个没啥关系吧


public class BaseDAO<T> {
	//插入数据
	public void create(T object){
		Session session = HibernateUtil.getSessionFactory().openSession();
		
		try {
			session.beginTransaction();
			session.persist(object);
			session.getTransaction().commit();
		} catch (Exception e) {
			e.printStackTrace();
			session.getTransaction().rollback();
		} finally {
			session.close();
		}
	}
	
	//更新数据
	public void update(T object){
		Session session = HibernateUtil.getSessionFactory().openSession();
		
		try {
			session.beginTransaction();
			session.update(object);
			session.getTransaction().commit();
		} catch (Exception e) {
			e.printStackTrace();
			session.getTransaction().rollback();
		} finally {
			session.close();
		}
	}
	
	//删除数据
	public void delete(T object){
		Session session = HibernateUtil.getSessionFactory().openSession();
		
		try {
			session.beginTransaction();
			session.delete(object);
			session.getTransaction().commit();
		} catch (Exception e) {
			e.printStackTrace();
			session.getTransaction().rollback();
		} finally {
			session.close();
		}
	}
	
	//根据id查找数据
	@SuppressWarnings("unchecked")
	public T find(Class<? extends T> clazz, Serializable id){
		Session session = HibernateUtil.getSessionFactory().openSession();
		
		try {
			session.beginTransaction();
			return (T)session.get(clazz, id);
		} catch (Exception e) {
			e.printStackTrace();
			session.getTransaction().rollback();
			return null;
		} finally {
			session.getTransaction().commit();
			session.clear();
		}
	}
	
	@SuppressWarnings("unchecked")
	public List<T> list(String hql){
		Session session = HibernateUtil.getSessionFactory().openSession();
		
		try {
			session.beginTransaction();
			return session.createQuery(hql).list();
		} catch (Exception e) {
			e.printStackTrace();
			session.getTransaction().rollback();
			return null;
		} finally {
			session.getTransaction().commit();
			session.clear();
		}
	}
	
	@SuppressWarnings("unchecked")
	public List<T> list(String hql,int end){
		Session session = HibernateUtil.getSessionFactory().openSession();
		
		try {
			session.beginTransaction();
			Query query = session.createQuery(hql);
			query.setFirstResult(0);
			query.setMaxResults(end);
			return query.list();
		} catch (Exception e) {
			e.printStackTrace();
			session.getTransaction().rollback();
			return null;
		} finally {
			session.getTransaction().commit();
			session.clear();
		}
	}
	
	@SuppressWarnings("unchecked")
	public List<T> list(String hql,int begin,int end){
		Session session = HibernateUtil.getSessionFactory().openSession();
		
		try {
			session.beginTransaction();
			Query query = session.createQuery(hql);
			query.setFirstResult(begin);
			query.setMaxResults(end);
			return query.list();
		} catch (Exception e) {
			e.printStackTrace();
			session.getTransaction().rollback();
			return null;
		} finally {
			session.getTransaction().commit();
			session.clear();
		}
	}
}

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧