ssh 框架搭建彙總

一、做爲菜鳥,先理解java

本身理解:spring是用來實例化struts中的類 和hibernate的類web

struts用的是mvc,包括url路由器匹配等。spring

hibernate 用的是數據庫操做。數據庫



參考以下:編程

1.struts就是一個mvc的架構,在控制器,視圖和模型方面都有其特定的組件,因此咱們在SSH組合中,更多的是利用了controller這個組件。不少人感受上是利用Struts的View層,的確是這樣的,由於咱們應用了不少struts的標籤,整個頁面的工做核心仍是在表單提交給action controller的動做上,而在struts的定義中,這是屬於C這一層的。因此咱們利用的確是controller。架構

2.spring的話最主要的功能仍是它的ioc和aop,即注入依賴和麪向切面編程它也有其本身的mvc,固然你能夠用struts框架而不用spring的mvc. mvc

3.Hibernate還能夠在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任,使用Structs+Spring+Hibernate的項目主要是在web層利用了struts的mvc框架,在數據庫層用hibernate的數據庫訪問功能,app

在bean管理和服務方面利用spring的ioc和aop.框架




Spring沒法注入?
url

一、Struts中的Action必須用Spring applicationContext.xml中定義的,否者看着辦

二、文件都須要複製到WEB-INF/lib下 不然會出問題。

三、Action的name 別和Class 命名同樣,否者出問題。

四、修改java類 須要重啓下哦 親

在struts.xml中配置action的class的時候,把包名也加上去了,這樣的話struts2就不會用到spring容器,那struts2就會直接去找那個actopm而不是經過Spring的BeanFactory,也就是說bean不在控制範圍以內,固然Spring中聲名顯赫的IOC和AOP就不能用了。。結果在Service中用注入DAO的時候就失效了,拋出一個NullPointerException的異常。

解決:將struts.xml中的action的class屬性,由class名改成Spring中定義的bean名

參考:http://hi.baidu.com/herowzz/item/eba8dddfe16ee7e7795daaee



安裝方法:

spring第一位 而後是hibernate 最後struts

參考資料:http://xly3000.blog.163.com/blog/static/1324247201231163828803/

http://blog.csdn.net/wuyt2008/article/details/8218212

相關文章
相關標籤/搜索