开始是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的方法,。
<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的方法,。
囧不能给我解释一下 spring里面的BEAN配置吗
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<constructor-arg ref="sessionFactory"/>
</bean>
可以简单理解成和工厂模式差不多,不用你手动的在去new一些东西,而是通过spring,他来负责管理你的对象,你需要对象时他给你new,这里的配置就是告诉他哪个类需要他负责管理
STRUTS2负责V和C
HIBERNATE 负责m 也就是数据持久化
使项目的层级更加分明,简化了开发,但从效率上来说,比传统的mvc要慢很多
个人理解 仅供参考 有误请纠正
春天 而是冬天了
还有上面大侠说的aop,做一些类似拦截器的东西,你的诸多bean都不需要进行植入任何代码的。非常强大的。
可能你目前还只是了解spring如何配置,如何让程序跑起来,慢慢来吧。