国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

第一章--Spring之旅

pkwenda / 1761人閱讀

摘要:兩種方式來表示的應用上下文。日志,事務管理和安全這樣的系統服務經常融入到具有核心業務邏輯的組件中去,這些系統服務通過被稱為橫切關注點。容器使用管理構成應用的組件,他會創建相互協作的組件之間的關聯。的生命周期四俯瞰的風景線模塊,,,,

完整代碼請見:https://github.com/codercuixi...
為了降低Java開發的復雜性,Spring采用了以下4種策略:

基于pojo的輕量級和最小侵入式編程

通過依賴注入和面向接口實現松耦合

基于切面和慣例進行聲明式編程

通過切面和模板減少樣本式代碼

一. 依賴注入

(利用面向接口編程的思想,由Spring應用上下文負責依賴注入)
通過依賴注入(DI ,Dependency Inject),對象的依賴關系由系統中負責協調各對象的第三方組件在創建對象的時候進行設定。對象無需自行創建或管理他們的依賴關系,如圖1.1所示,依賴關系被自動注入到需要他們的對象中去。

Spring通過應用上下文(Application Context)來裝在bean定義并把組裝起來。Spring自帶了很多很多應用上下文,他們之間的區別僅僅在于如何加載配置。

兩種方式來表示Spring的應用上下文。 1.注解(墻裂推薦使用)

1通過@Configuration來聲明這個類是Java Bean的配置類,通過在具體的方法前面添加@Bean注解來聲明一個Bean

package sia.knights;

    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;

    import java.io.PrintStream;

    /**
     * Create by cuixin on 2018/8/25 
     **/ 
    @Configuration public class KnightConfig {
        @Bean
      public Knight knight() {
            return new BraveKnight(quest());
        }

        @Bean
      public Quest quest() {
            return new SlayDragonQuest(stream());
        }

        @Bean
      public PrintStream stream() {
            return new FakePrintStream();
        }
    }
    

1.2. 通過@ContextConfiguration來配置Spring應用上文下信息

 package sia.knights;

    import org.junit.After;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.test.context.ContextConfiguration;
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    import org.springframework.test.context.support.AnnotationConfigContextLoader;

    import javax.annotation.Resource;

    /**
     * Create by cuixin on 2018/8/25 
     **/ 
    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(classes = KnightConfig.class, loader = AnnotationConfigContextLoader.class)
    public class KnightJavaConfigInjectionTest {
        @Autowired
      private Knight knight;
        @Resource
      private FakePrintStream printStream;

        @After
      public void clearPrintStream() {
            printStream.clear();
        }

        @Test
      public void shuoldInjectKnightWithSlayDragonQuest() {
            knight.embarkOnQuest();
            assert "Embarking on quest to slay the dragon!
".equals(printStream.getPrintedString());
        }
    }
2.xml配置文件(基本已經棄用)

2.1. knigh.xml

  

        
            
        

        
            
        

    

2.2 通過Spring提供的ClassPathXmlApplicationContext或者FileSystemXmlApplicationContext來尋找xml配置文件

    package sia.knights;

    import org.springframework.context.support.ClassPathXmlApplicationContext;

    /**
     * Create by cuixin on 2018/8/24
     **/ 
     public class KnightMain {
        public static void main(String args[]){
            ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring/knight.xml");
            Knight knight = context.getBean(Knight.class);
            knight.embarkOnQuest();
            context.close();
        }
    }
  
二.面向切面編程 AOP

面向切面編程(aspect-oriented programming,AOP)允許你把遍布應用各處的功能分離出來形成可重用的組件。

系統由多個組件組成,比如核心業務,日志,事務管理和安全。

日志,事務管理和安全這樣的系統服務經常融入到具有核心業務邏輯的組件中去,這些系統服務通過被稱為橫切關注點。

如果不管不問,那么這些橫切關注點會重復出現在多個組件中,也會增加每一個組件的復雜性。

AOP能夠使這些服務模塊化,并且以聲明的方式將他們需要影響的組件中去。我們可以將切面想象成為覆蓋在很多組件之上的一個外殼。

2.1. 利用xml配置aop
  
     

      
        
      

      
        
      

      
        
      

   
     
        
        
        
    
   
 
三. 使用模板消除樣本式代碼

樣板代碼:為了實現通用的和簡單的任務,不得不一遍遍重復寫的代碼。

3.1 容納你的Bean

在基于Spring的應用中,你的應用對象存在于Spring容器(container)中,如圖1.4所示,Sring容器負責創建帝鄉,裝配他們,配置他們并管理他們的整個生命周期,從生存到死亡(在這里,可能就是new到finalize)。

容器是Spring的核心。Spring容器使用DI管理構成應用的組件,他會創建相互協作的組件之間的關聯。

3.2 Spring容器的兩種實現類型實現

3.2.1. bean工廠不常用。
由org.springframework.benas.factory.BeanFactory接口定義,是簡單的容器,提供最簡單的DI支持。應用上下文由orgspringframework.context.ApplicationContext接口定義)基于BeanFactory構建,并提供應用框架級別的

3.2.2.使用應用上下文

AnnotationConfigApplicationContext: 從一個或多個基于Java的配置類中加載Spring應用上下文
ApplicationContext context = new AnnotationConfigApplicationContext(KnightConfig.class)

AnnotationConfigWebApplicationContext:從一個或多個基于Java的配置類中加載Spring Web應用上下文
ClassPathXmlApplicationContext:從類路徑下的一個或多個xml配置文件中加載上下文定義,把應用上下文的定義文件作為類資源

ApplicationContext context = new ClassPathXmlApplicationContext("knight.xml")

FileSystemXmlApplicationContext:從文件系統的一個或多個xml配置文件中加載上下文定義

ApplicationContext context = new FileSystemXmlApplicationContext("c://knight.xml")

XmlWebApplicationContext:從Web應用的一個或多個xml配置文件中加載上下文定義。
3.3 bean的生命周期

四.俯瞰Spring的風景線 4.1 Spring模塊

4.2 Spring portfolio

srping-web-flow . Spring web Service, Spring security,Spring Integration, SpringBatch, Spring Data, Spring Social,
Spring Mobile, Spring Boot

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/76936.html

相關文章

  • chrome擴展開發之旅 第一

    摘要:擴展及應用介紹與區別介紹支持開發者為其編寫各種各樣的擴展與應用來擴充其功能。用處安裝擴展之后,就會讀取擴展中的文件。結語以上就是第一章的總結,接下來的筆記,敬請期待原書項目代碼下載擴展及其應用開發 讀書筆記介紹 寒假想自己做一個chrome擴展,便從圖書館借了這本書。同時,為了培養自己的好習慣,做沉淀,便讀一章寫一篇總結,全書總共10章,將會分為10篇博文。歡迎大家多多指正,也希望大家...

    lei___ 評論0 收藏0
  • Spring之旅第一站(不得不佩服老外...)

    摘要:表示少女與緊耦合在它的構造函數中自行創建了。面向切面編程往往被定義為促使軟件系統實現關注點的分離一項技術系統由許多不同的組件組成,每個組件各負責一特定的功能。我們可以把切面想象為覆蓋在很多組件之上的一個外殼。 第1章 Spring之旅 說明 1、本文抄寫了《Spring 實戰》重點內容,參考了GitHub上的代碼 2、每個人的學習方式不一樣,但目的是一樣的,活學活用。最近一直在聽《我...

    thekingisalwaysluc 評論0 收藏0
  • 【開發工具學習之旅-JMeter】- JMeter簡介以及HTTP協議使用測試

    摘要:簡介以及協議使用測試簡介簡介官網的組成取樣器進行腳本邏輯控制。測試結果的請求介紹以及使用提供的請求登錄了做測試在中右鍵新建一個請求查看結果格式的請求實戰格式發送數據,是以格式或者之類的數據來發送。發起請求模擬之后會出現以下錯誤。 ...

    dongfangyiyu 評論0 收藏0
  • Spring之旅第十站:MVC配置、上傳文件、異常處理、跨重定向請求、為控制器添加通知

    摘要:依賴于對請求的支持。使用解析兼容的沒有構造器參數,也沒有要設置的參數,這樣,在應用上下文中,將其聲明為就會非常簡單。默認是沒有限制的整個請求的容量。 Spring MVC 高級的技術 本章內容: Spring MVC配置的替代方案 處理文件上傳 在控制器中處理異常 使用flash屬性 稍等還沒結束 說明 如果你有幸能看到。后面的章節暫時不更新了,改變學習方式了。重要理解思想,這本書...

    leanote 評論0 收藏0
  • spring boot 之旅 - 集成模板引擎beetl

    摘要:之旅系統環境新建項目使用開發工具直接在官網創建參考博客新建驗證訪問啟動右鍵瀏覽器輸入頁面顯示正常集成視圖引擎參考文檔參考項目文件導入配置測試訪問學習文檔源碼下載百度云盤地址 spring boot 之旅 系統環境 JDK 8 Spring Boot 1.5.3 beetl 2.7.15 新建項目 adagio 使用開發工具 Spring Tool Suite - new Spri...

    aikin 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<