Spring(一)——整體介紹

工做閒着,快速回顧一下spring框架。Spring框架,是進行對象管理,對象關聯,解耦的一箇中間層框架。SSH(Struts+Spring+Hibernate)三大Spring在中間就起着一個承上啓下的做用。好,首先咱們先來看一下Spring框架的一些知識點,經過下邊這張圖來總括一下:spring


 

 

         好,這篇博客我們先來對Spring框架進行一個初步的瞭解。編程


          一,框架介紹:設計模式

          1,先看一下幫助文檔的這張圖,裏邊主要包括了Spring自身的功能,還有能夠和其框架結合的一些框架,經過這張圖能夠看出,Spring框架和其餘框架的集成能力是很是強的。服務器


 

          2,Spring是一個輕量級的IOC和AOP容器框架: app

              a,輕量級:程序實現不是很複雜,代碼不是不少,佔用資源不是不少,沒有侵入性;框架

              b,IOC(Inversion of Control 控制反轉):對象建立責任的反轉(重點,核心);單元測試

              c, Aop(Aspect Oriented Programming):一種面向橫切面編程的思想方式,能夠進行功能性擴展,看前邊的一篇轉載的博客:面向橫切面(AOP)編程測試

              d,容器:能夠容納對象,而且能夠控制對象的生命週期spa

 

         二,看一下使用步驟吧!(框架用多了,感受步驟都大同小異).net

              1,仍是拷貝jar包:

            

 

             2,拷貝框架的核心配置文件,存放在src目錄下:

          

 

            3,編寫框架的核心配置文件,將聲明對象都交給Spring框架來建立,以及初始化,例如service層的類,action層類,dao層類等等,均可以交給Spring進行管理,看一個例子:


<bean id="loginAction" class="com.ljh.struts2.action.LoginAction" scope="prototype"></bean>

  分析:

  a,框架建立對象的方式:框架默認建立對象是單例的:scope="singleton",固然action咱們想要多例建立,須要設置:scope="prototype"

            

  b,利用beanFactory加載配置文件:

        工廠BeanFactory,,若是使用BeanFactory來加載Spring配置文件,那麼是在調用getBean時,框架調用對象的默認構造方法來建立對象。BeanFactory功能是對bean對象的生命週期進行管理的。(建立,初始化,銷燬)

//加載配置文件,建立Spring的應用環境  
        String path = "applicationContext.xml";       
        Resource resource = new ClassPathResource(path);    //推薦  
        //Resource resource = new FileSystemResource("src/applicationContext.xml");  
        //Resource resource = new ServletContextResource(servletContext, path); //若是文件存放到WEB-INF目錄下  
          
        BeanFactory factory = new XmlBeanFactory(resource);  
  
        //從Spring環境中獲取對象  
        Object obj = factory.getBean("loginAction");  
          
  
        LoginAction action = (LoginAction)obj ;

 

      c,  利用ApplicationContext加載配置文件:

         來用纔對象來加載Spring配置文件,會在加載時解析配置文件,建立對象,而不是在getBean時建立。其實,ApplicationContext接口繼承了BeanFactory,因此具有BeanFactory全部功能,同時增長擴展的功能,例如加載資源配置文件,國際化支持等!

  ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");  
              
   Object obj = ac.getBean("loginAction");


三,Sping框架的優缺點:

     優勢:

  • 輕量級的容器框架,沒有侵入性

  • IoC更加容易組合對象之間的關係,經過面向接口進行編程,能夠低耦合開發。

  • 易於本地測試(Junit單元測試,不用部署服務器)

  • AOP能夠更加容易的進行功能擴展,遵循OCP開發原則。

  • Spring默認對象的建立爲單例的,咱們不須要再使用單例的設計模式來開發單體類。

  • Spring的集成很強大,另外能夠對其餘框架的配置進行一元化管理。

  • Spring的聲明式事務的方便使用。


    缺點:

         自我感受是全部框架共有的,就是開發對設計要求較高,集成測試麻煩,對框架有必定的依賴性。 

         總而言之,Spring框架功能是很是強大的,單獨使用可能感受不是很深,和其餘的框架結合使用,就會張顯她的魅力了。

相關文章
相關標籤/搜索