中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

找人做網(wǎng)站協(xié)議網(wǎng)站在線優(yōu)化檢測

找人做網(wǎng)站協(xié)議,網(wǎng)站在線優(yōu)化檢測,商業(yè)網(wǎng)站設(shè)計制作公司,怎么做淘客網(wǎng)站推廣軟件設(shè)計之SSM(1) 路線圖推薦: 【Java學(xué)習(xí)路線-極速版】【Java架構(gòu)師技術(shù)圖譜】 尚硅谷新版SSM框架全套視頻教程,Spring6SpringBoot3最新SSM企業(yè)級開發(fā) 資料可以去尚硅谷官網(wǎng)免費領(lǐng)取 學(xué)習(xí)內(nèi)容: Spring框架結(jié)構(gòu)SpringIoC容器SpringIoC實踐…

軟件設(shè)計之SSM(1)

路線圖推薦:
【Java學(xué)習(xí)路線-極速版】【Java架構(gòu)師技術(shù)圖譜】
尚硅谷新版SSM框架全套視頻教程,Spring6+SpringBoot3最新SSM企業(yè)級開發(fā)
資料可以去尚硅谷官網(wǎng)免費領(lǐng)取

學(xué)習(xí)內(nèi)容:

  1. Spring框架結(jié)構(gòu)
  2. SpringIoC容器
  3. SpringIoC實踐與應(yīng)用

1、Spring框架結(jié)構(gòu)

Spring是一個開源的Java框架,旨在簡化Java企業(yè)級應(yīng)用的開發(fā)。Spring Framework是其核心部分,提供了依賴注入、面向切面編程和事務(wù)管理等功能。所以一般Spring框架指的是Spring Framework,廣義上的 Spring 泛指以 Spring Framework 為基礎(chǔ)的 Spring 技術(shù)棧。

Spring Framework主要功能模塊

模塊功能描述
核心容器提供對象管理和依賴注入,支持Bean配置和生命周期管理。
AOP支持面向切面編程,允許將橫切關(guān)注點(如日志、事務(wù))與業(yè)務(wù)邏輯分離。
數(shù)據(jù)訪問/集成簡化JDBC操作,支持ORM框架(如Hibernate),提供數(shù)據(jù)訪問的統(tǒng)一方式。
Web模塊支持Spring MVC架構(gòu),創(chuàng)建Web應(yīng)用程序,提供REST支持和文件上傳功能。
安全模塊提供Spring Security,用于應(yīng)用程序的身份驗證和授權(quán)。
消息模塊提供對消息中間件(如JMS)的支持,支持異步處理。
聲明式事務(wù)管理通過注解或XML配置簡化事務(wù)管理,允許在方法上聲明事務(wù)屬性,自動處理事務(wù)邊界。

2、SpringIoC容器

  • 在Spring框架中,組件是指由Spring容器管理的對象,通常被稱為Bean。這些Bean可以是服務(wù)、控制器、數(shù)據(jù)訪問對象等,Spring負(fù)責(zé)它們的創(chuàng)建、配置和生命周期管理。
    在這里插入圖片描述

  • 組件管理是Spring的核心功能之一,主要通過IoC(控制反轉(zhuǎn)) 實現(xiàn)。IoC容器負(fù)責(zé)管理對象的創(chuàng)建和它們之間的依賴關(guān)系,這使得應(yīng)用程序的各個部分之間的耦合度降低,從而提高了可維護(hù)性和可測試性。

組件一定是對象,對象不一定是組件

  1. 組件是對象

    • 在Spring框架中,組件(通常稱為Bean)是通過Spring IoC容器管理的對象。它們的創(chuàng)建、配置和生命周期管理都是由Spring負(fù)責(zé)。
  2. 對象不一定是組件

    • 在Java中,任何通過new關(guān)鍵字創(chuàng)建的實例都是對象,但這些對象并不一定由Spring容器管理。如果一個對象沒有被Spring管理,就不能享受Spring提供的特性,比如依賴注入、生命周期管理等。
  3. 可復(fù)用的Java對象

    • 組件通常被設(shè)計為可以在不同的上下文中重復(fù)使用。因為它們遵循了良好的設(shè)計原則,比如單一職責(zé)原則和依賴注入,它們的邏輯可以在不同的場景中使用,而不需要進(jìn)行大量修改。

復(fù)雜容器概念引入

  1. 復(fù)雜容器指的是具有多個層次和功能的容器,能夠管理和控制多個組件的生命周期、配置和交互。Tomcat不僅負(fù)責(zé)Servlet的執(zhí)行,還處理了許多其他功能,如請求處理、線程管理、會話管理等。
  2. Spring IoC 容器,負(fù)責(zé)實例化、配置和組裝 bean(組件)。容器通過讀取配置元數(shù)據(jù)來獲取有關(guān)要實例化、配置和組裝組件的指令。配置元數(shù)據(jù)以 XML、Java 注解或 Java 代碼形式表現(xiàn)。它允許表達(dá)組成應(yīng)用程序的組件以及這些組件之間豐富的相互依賴關(guān)系。

IoC容器接口介紹

Spring IoC容器主要通過兩個接口來實現(xiàn):BeanFactoryApplicationContext。它們都負(fù)責(zé)管理Bean,但有一些關(guān)鍵的區(qū)別和擴展功能。

特性BeanFactoryApplicationContext
定義Spring IoC容器的基本接口BeanFactory的子接口,提供更豐富的功能
實例化方式延遲初始化,僅在需要時創(chuàng)建Bean預(yù)實例化,在啟動時創(chuàng)建所有單例Bean
國際化支持支持多種語言和地區(qū)的國際化功能
事件傳播支持事件發(fā)布和監(jiān)聽機制,允許組件間的通信
AOP支持提供面向切面編程的支持
適用場景輕量級應(yīng)用,資源使用要求較高的場景復(fù)雜應(yīng)用,特別是需要更多功能的企業(yè)級應(yīng)用

ApplicationContext容器實現(xiàn)類

上下文類型功能描述加載方式說明
ClassPathXmlApplicationContext從類路徑加載XML配置文件,適用于在類路徑下有配置文件的應(yīng)用,通常用于標(biāo)準(zhǔn)的Java SE應(yīng)用。從classpath根目錄加載配置文件,通常是項目的類路徑下的resources
FileSystemXmlApplicationContext從文件系統(tǒng)加載XML配置文件,適用于需要從任意路徑加載配置文件的場景,能夠處理絕對或相對路徑。直接從文件系統(tǒng)讀取配置文件,可以使用絕對路徑或相對路徑。
AnnotationConfigApplicationContext以Java注解方式加載配置,適合使用注解定義Bean和依賴關(guān)系的應(yīng)用,支持使用@Configuration@Component注解。通過掃描指定包或類,解析注解以注冊Bean。
WebApplicationContext特殊類型的ApplicationContext,用于Web應(yīng)用,提供額外的功能,如處理Web層的Bean、會話管理等,支持多種Web功能。通常在Web應(yīng)用中由ContextLoaderListenerDispatcherServlet加載,支持XML和注解配置。

配置方式

Spring框架提供了多種配置方式:XML配置方式、注解方式和Java配置類方式

特點XML配置Java配置注解配置
配置形式使用XML文件定義Bean使用帶有@Configuration注解的類定義Bean使用類上的注解(如@Component等)自動掃描
類型安全
可讀性可讀性一般,依賴于XML格式可讀性好,遵循Java語法可讀性好,直接在類上定義
靈活性靈活,但修改后需重啟應(yīng)用靈活,支持Java編程中的邏輯靈活,支持靈活的包掃描
示例<bean id="myBean" class="com.example.MyClass"/>@Bean public MyClass myBean() {...}@Component public class MyClass {...}
依賴注入方式通過<property><constructor-arg>標(biāo)簽通過方法參數(shù)和返回值通過構(gòu)造函數(shù)、字段或方法
啟動方式需要手動指定XML文件通過Java類自動加載配置通過@ComponentScan自動掃描

容器、IoC、DI

在這里插入圖片描述

3、SpringIoC實踐與應(yīng)用

實現(xiàn)步驟

  1. 配置元數(shù)據(jù),此處以XML為例
  • Spring IoC 容器管理一個或多個組件。這些組件是使用你提供給容器的配置元數(shù)據(jù)(例如,以 XML <bean/> 定義的形式)創(chuàng)建的。

  • <bean /> 標(biāo)簽 == 組件信息聲明

    • id 屬性是標(biāo)識單個 Bean 定義的字符串。
    • class 屬性定義 Bean 的類型并使用完全限定的類名。
<?xml version="1.0" encoding="UTF-8"?>
<!-- 此處要添加一些約束,配置文件的標(biāo)簽并不是隨意命名 -->
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttps://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="..." [1] class="..." [2]>  <!-- collaborators and configuration for this bean go here --></bean><bean id="..." class="..."><!-- collaborators and configuration for this bean go here --></bean><!-- more bean definitions go here -->
</beans>
  1. 實例化IoC容器
  • 提供給 ApplicationContext 構(gòu)造函數(shù)的位置路徑是資源字符串地址,允許容器從各種外部資源(如本地文件系統(tǒng)、Java CLASSPATH 等)加載配置元數(shù)據(jù)。
  • 選擇一個合適的容器實現(xiàn)類,進(jìn)行IoC容器的實例化工作:此處以ClassPathXmlApplicationContext為例
//實例化ioc容器,讀取外部配置文件,最終會在容器內(nèi)進(jìn)行ioc和di動作
ApplicationContext context = new ClassPathXmlApplicationContext("services.xml", "daos.xml");
  1. 獲取Bean(組件)
  • ApplicationContext 是一個高級工廠的接口,能夠維護(hù)不同 bean 及其依賴項的注冊表。通過使用方法 T getBean(String name, Class<T> requiredType) ,可以檢索 bean 的實例。允許讀取 Bean 定義并訪問它們,如以下示例所示:
//創(chuàng)建ioc容器對象,指定配置文件,ioc也開始實例組件對象
ApplicationContext context = new ClassPathXmlApplicationContext("services.xml", "daos.xml");
//獲取ioc容器的組件對象
PetStoreService service = context.getBean("petStore", PetStoreService.class);
//使用組件對象
List<String> userList = service.getUsernameList();
http://www.risenshineclean.com/news/29553.html

相關(guān)文章:

  • 專業(yè)網(wǎng)站優(yōu)化外包百度seo推廣計劃類型包括
  • 怎么學(xué)做淘寶電商網(wǎng)站嗎關(guān)鍵詞搜索排行榜
  • html5 公眾號 網(wǎng)站開發(fā)百度seo優(yōu)化價格
  • 專業(yè)做根雕的網(wǎng)站廣州百度搜索優(yōu)化
  • 備案的網(wǎng)站名稱寫什么深圳整站全網(wǎng)推廣
  • 大眾點評怎么做團(tuán)購網(wǎng)站廣告軟文外鏈平臺
  • 做網(wǎng)站需要數(shù)據(jù)儲存么深圳網(wǎng)站設(shè)計三把火
  • 做網(wǎng)站十大公司哪家好短視頻推廣渠道
  • 92素材網(wǎng)安卓優(yōu)化大師官網(wǎng)
  • 手機微信網(wǎng)站怎么做的好深圳網(wǎng)站設(shè)計十年樂云seo
  • 最好的網(wǎng)站制作公司百度快照是怎么做上去的
  • 自己如何開自己的商城黑帽seo培訓(xùn)網(wǎng)
  • 杭州建立網(wǎng)站長沙企業(yè)網(wǎng)站建設(shè)報價
  • 動漫制作專業(yè)的高職實訓(xùn)室seo引擎搜索網(wǎng)站關(guān)鍵詞
  • 濟南外貿(mào)網(wǎng)站建設(shè)公司排名seo基礎(chǔ)入門免費教程
  • 做網(wǎng)站和做軟件哪個賺錢丈哥seo博客工具
  • 網(wǎng)站投入費用百度知道答題賺錢
  • 四川瑞通工程建設(shè)有限公司網(wǎng)站東莞谷歌推廣
  • 計算機做網(wǎng)站難嗎yandex搜索引擎
  • 河北省 政府網(wǎng)站 建設(shè)意見如何擁有自己的網(wǎng)站
  • 政府網(wǎng)站開發(fā)招標(biāo)文件山西免費網(wǎng)站關(guān)鍵詞優(yōu)化排名
  • 做網(wǎng)站實驗體會百度2022新版下載
  • 拼多多賣網(wǎng)站建設(shè)營銷活動策劃
  • 東莞正規(guī)的企業(yè)網(wǎng)站設(shè)計多少錢培訓(xùn)網(wǎng)站建設(shè)
  • 建設(shè)工程網(wǎng)站教程地推網(wǎng)app推廣平臺
  • wordpress建站更換圖片熱點新聞事件及評論
  • 做網(wǎng)站接專線費用seo新方法
  • 網(wǎng)站開發(fā)分頁代碼站長工具精品
  • 沒有備案的網(wǎng)站百度能收錄品牌推廣方案策劃書
  • 網(wǎng)站建設(shè)代理推廣徽信xiala5效果好軟文世界官網(wǎng)