<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Spring基礎(chǔ)

      Spring基礎(chǔ)

      IOC:

      • 一種控制反轉(zhuǎn)思想,

        • 講對象的創(chuàng)建和對象直接的調(diào)用,交給Spring管理;
        • 主要目的:為了降低模塊之間的解耦;
          • 原始是直接new 創(chuàng)建,
          • 進階是工廠模式;
          • 終結(jié)模式,IOC,控制反轉(zhuǎn)實現(xiàn);
      • 底層主要功能原理:

        • Xml解析;
        • 工廠模式【解耦合】;
        • 反射;
      • xml配置文件:

        使用< >進行配置,然后使用xml解析嗎,獲取其中的值:

        <bean id = "" class = "全類名"></bean>
        
        • 使用id作為實例鍵名【k-v容器】,
        • 全類名通過反射,Class.forName("").newInstance(),獲取值;
      • IoC是基于IOC容器實現(xiàn),容器底層就是對象工廠,IoC容器的兩種接口;

        • BeanFactory:IoC基本實現(xiàn),Spring內(nèi)部實現(xiàn),不提供開發(fā)人員;
          • 加載配置文件的時候,不會創(chuàng)建對象,再獲取對象的時候,才會獲取【懶漢模式】
          • 主要實現(xiàn)類:
            • ConfigrableApplicationContext:擴展功能;
        • ApplicationContext:BeanFactory的子接口,提供更強大的功能;
          • 餓漢模式:加載配置文件的時候,會對對象進行創(chuàng)建;
          • 主要實現(xiàn)類:
            • FileSystemXmlApplicationContext:使用的是磁盤路徑;
            • ClassPathXmlApplicationContext:使用的類路徑;
      • Bean管理:

        • Spring創(chuàng)建對象:

        • Spring屬性注入:

        • 兩種方式實現(xiàn)以上兩種功能;

          • 基于xml配置文件方式實現(xiàn):

            1. 創(chuàng)建對象:

              使用bean標簽:<bean id = "" class = "全類名"></bean>

              • id:唯一標識;
              • class:類的全路徑;
              • 默認是無參對象創(chuàng)建;
            2. 注入屬性:

              DI:依賴注入;

              • 有參構(gòu)造注入:

                <bean id = "" class = "全類名">
                    <constructor-arg name = "" value = "">			
                    </constructor-arg >
                    <constructor-arg name = "" value = "">			
                    </constructor-arg > // 調(diào)用對應(yīng)的有參構(gòu)造方法
                </bean>
                
              • set方法注入:

                <bean id = "" class = "全類名">
                    <property name = "" value = "">			</property> // 調(diào)用對應(yīng)neme的set方法
                </bean>
                
          • 基于注解方式實現(xiàn);

      • IOC的Bean管理;

        • 普通bean,定義的類型,就是返回類型;

        • 工廠bean(Factory Bean):定義類型,和返回類型可以不一致;

          • 主要接口: FactoryBean接口,在接口中實現(xiàn);
        • bean的作用域:單實例還是多實例;

          • 默認是單實例對象;
          • scope屬性值:
            • singleton:單實例,加載配置文件的時候,就創(chuàng)建對象;
            • prototype:多實例對象,調(diào)用get方法的時候,才會創(chuàng)建對象;
          • Requset和Ssession
        • bean的生命周期:

          1. 通過無參創(chuàng)建實例;

          2. 設(shè)置屬性值【set方法】;

            把bean傳遞給bean后置處理器【BeanPostProcessor接口】;

          3. bean的初始化方法【進行配置, init-method = ""屬性】;

            把bean傳遞給bean后置處理器;

          4. bean可以使用;

          5. 當容器關(guān)閉后,調(diào)用bean銷毀方法【進行配置, destroy-method = "" 屬性】 == > .close()【子接口ClassPathXmlApplicationContext有一個close()方法】;

            • BeanPostProcessor接口主要方法:
              • postProcessorBeforeInitialization();
              • postProcessorAfterInitialization();
        • Bean管理的自動裝配:

          • 通過bean屬性是手動裝配;
          • 自動裝配屬性 autowire:
            • byName:根據(jù)屬性的名稱注入;
            • byType:根據(jù)屬性的類型注入;
        • Bean管理,引入外部屬性文件;

          • 通過${鍵值};
      • 基于注解:

        注解是代碼的特殊標記,格式:@注解名稱(屬性名稱 = "屬性值", 屬性名稱 = "屬性值");

        • 作用對象;

        • 注解是為簡化Xml配置;

        • 創(chuàng)建對象的注解,功能相同,創(chuàng)建Bean實例:

          • @Component:普通層;

          • @Service:業(yè)務(wù)邏輯層

          • @Controller:Web層

          • @Repository:DAO層;

            引入依賴,開啟組件掃描,在類上添加注解;

            • 組件掃描:掃描對應(yīng)的組件【包含哪些,不包含哪些】;
        • 注解的方式,屬性的注入;

          • @AutoWired:根據(jù)屬性類型裝配
          • @Qualifier:根據(jù)名稱注入;
          • @Resource:以上兩種;
          • @Value:不同類型注入;
        • 完全注解開發(fā);

          • 使用配置類代替Xml配置

            @Configuration

            @ConponentScan(basePackages = {"", ""}),然后使用AnnotationConfigAppcalitionContext(SpringConfig.class)加載配置類

      • AOP:面向切面編程;

        • 動態(tài)代理:

          • 有接口實現(xiàn)的子類:
            • JDK動態(tài)代理,創(chuàng)建接口類代理;
            • 底層是通過反射實現(xiàn),【對象,方法,參數(shù)】
          • 無接口的類:
            • CGLIB動態(tài)代理,創(chuàng)建當前子類的代理對象;
        • 術(shù)語

          • 連接點:類中的方法,因為增強的是方法;

          • 切入點:實際增強的方法;

            切入點表達式:execution(【權(quán)限修飾符】【返回類型】【類全路徑】【方法名】(【參數(shù)列表】));

          • 通知:增強的邏輯部位;

            • 前置,后置,環(huán)繞,異常【catch】,最終【finally】;
          • 切面:把通知應(yīng)用到切入點的過程;

        • AOP操作:一般基于AspectJ;

      posted @ 2025-07-23 21:59  煙雨斷橋  閱讀(6)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 中文在线а√天堂| 精品欧美h无遮挡在线看中文 | 平泉县| 久久夜色国产噜噜亚洲av| 中文字幕亚洲人妻系列| 亚洲人成色77777| 亚洲女同在线播放一区二区| 人妻少妇无码精品专区| 欧美人与性动交ccoo| 亚洲一区二区三区在线| 免费一级黄色好看的国产| 67194熟妇在线直接进入| 欧美最猛性xxxxx大叫| 热99久久这里只有精品| 午夜性色一区二区三区不卡视频| 广宁县| 国产亚洲精品综合一区二区| 亚洲一区二区精品极品| 精品国产亚洲第一区二区三区| 亚洲av色香蕉一二三区| 国偷自产一区二区三区在线视频| 亚洲色大成网站www永久一区| 国产成人精品视频国产| 亚洲精品日韩中文字幕| 午夜射精日本三级| 中文字幕人妻有码久视频| 人妻少妇精品中文字幕| 一本一道av无码中文字幕﹣百度| 日韩成人午夜精品久久高潮| 一本一本久久A久久精品综合不卡 一区二区国产高清视频在线 | 国产精品午夜精品福利| 任我爽精品视频在线播放| 野外做受三级视频| 亚洲日本欧美日韩中文字幕| 女人与牲口性恔配视频免费| 乱人伦无码中文视频在线| 精品无码国产污污污免费| 国产精品人成在线观看免费| 亚洲色丰满少妇高潮18p| 中文在线а√天堂| 国产精品自在自线视频|