开始是struts2+hibernate3的程序,运行良好,现在学习spring,加入了spring,但是觉得spring太抽象了,不如前面两个框架好理解,现在程序整合了spring,不太了解spring配置里的bean作坊,能解释一下下么?虽然程序可以完美运行,但是都是凭感觉结合例子各种调试改好的 唯一的感觉就是 S+H 的时候, DAOImpl里的方法太复杂了,现在代码简单多了,呵呵,如:hibernateTemplate.save(user) ;代码如下:
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<constructor-arg ref="sessionFactory"/>
</bean>
<bean id="dao" class="com.dao.impl.SNewsDaoImpl">
<property name="hibernateTemplate" ref="hibernateTemplate"/>
</bean>
<bean id="service" class="com.service.impl.SNewsServiceImpl">
<property name="dao" ref="dao"/>
</bean>
<bean id="SNewsAction" class="com.action.SNewsAction">
<property name="service" ref="service" />
</bean> action : SNewsService service;

//采用模型驱动
private SNews model=new SNews();//用于封装会员属性模型
public SNews getModel() {
return model;
}

//存放会员列表数据 List<SNews> newsList; //存放action之间的提示信息
String actionMsg ;

/** 处理浏览请求 */
public String listNews(){
if (LOG.isInfoEnabled()) {
LOG.info(CLASSNAME + "**********所有信息方法开始********");
}
newsList = service.allNews();
return SUCCESS;
}
DAOImpl: public List allNews() {
return hibernateTemplate.find("from SNews order by news_id" ) ;
}
还有什么 AOP , 注解 ,这些怎么用呢? 我程序里现在感觉只封装了hibernate,简化了DAOImpl的方法,。

解决方案 »

  1.   

    如果考虑到了系统维护和修改,可以写个通用的dao
      

  2.   


    囧不能给我解释一下 spring里面的BEAN配置吗 
      

  3.   

    spring你现在用到的只是他一些简单的东西,他的核心思想是AOP
    <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
            <constructor-arg ref="sessionFactory"/>
            </bean>
    可以简单理解成和工厂模式差不多,不用你手动的在去new一些东西,而是通过spring,他来负责管理你的对象,你需要对象时他给你new,这里的配置就是告诉他哪个类需要他负责管理
    STRUTS2负责V和C
    HIBERNATE 负责m 也就是数据持久化
    使项目的层级更加分明,简化了开发,但从效率上来说,比传统的mvc要慢很多
      

  4.   

    其实你将的都是 IOC ? 
      

  5.   

    我用的简单理解是  不用再CLASS里面new其他类  而是在application。xml里面配置  就能直接调用了
    个人理解  仅供参考   有误请纠正
      

  6.   

    我们也刚学完这几个框架 跟你有差不多的感受  spring是简化了 代码 但是我在想 这段时间给我带来的不是
    春天 而是冬天了
      

  7.   

    呵呵,差不多就是这样吧,不过SPRING的好多功能还是不太懂
      

  8.   

    spring配置里的这bean作坊,就先理解它是在解耦吧。action、service、dao 他们之间的耦合不再是写死在你代码里的了,而是在spring里配置的。这点可能在实际的应用中,遇到项目需要各种修改的时候就会有体会了。
    还有上面大侠说的aop,做一些类似拦截器的东西,你的诸多bean都不需要进行植入任何代码的。非常强大的。
    可能你目前还只是了解spring如何配置,如何让程序跑起来,慢慢来吧。
      

  9.   

    不需要在类里重复NEW一些DAO了。