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

當前位置: 首頁 > news >正文

網(wǎng)頁設計公司金華關鍵詞排名優(yōu)化公司外包

網(wǎng)頁設計公司金華,關鍵詞排名優(yōu)化公司外包,網(wǎng)站家建設培訓學校,友匯網(wǎng)網(wǎng)站建設文章目錄 前言一、Spring 項目的創(chuàng)建1.1 創(chuàng)建 Maven 項目1.2 添加 Spring 框架支持1.3 添加啟動類 二、儲存 Bean 對象2.1 創(chuàng)建 Bean2.1 將 Bean 注冊到 Spring 容器 三、獲取并使用 Bean 對象3.1 獲取Spring 上下文3.2 ApplicationContext 和 BeanFactory 的區(qū)別3.3 獲取指定的…

文章目錄

  • 前言
  • 一、Spring 項目的創(chuàng)建
    • 1.1 創(chuàng)建 Maven 項目
    • 1.2 添加 Spring 框架支持
    • 1.3 添加啟動類
  • 二、儲存 Bean 對象
    • 2.1 創(chuàng)建 Bean
    • 2.1 將 Bean 注冊到 Spring 容器
  • 三、獲取并使用 Bean 對象
    • 3.1 獲取Spring 上下文
    • 3.2 ApplicationContext 和 BeanFactory 的區(qū)別
    • 3.3 獲取指定的 Bean 對象
  • 四、總結


前言

通過前面的文章我們知道了,Spring 其實就是一個包含了眾多工具的 IoC 容器。既然是容器那么主要就涉及到兩個操作,即:

  • 將對象儲存到 Spring 容器中
  • 使用的使用將對象從 Spring 容器中取出。

因此,學習 Spring 容器,主要就是學習它的存取操作。下文詳細介紹了 Spring 項目的創(chuàng)建與使用。

一、Spring 項目的創(chuàng)建

下文將以 Maven 的方式來創(chuàng)建一個 Spring 項目,創(chuàng)建 Spring 項目的方式與 Servlet 類似,主要分為以下三步驟:

  1. 創(chuàng)建 Maven 項目;
  2. 添加 Spring 框架支持;
  3. 添加啟動類。

以下就是圍繞這三個步驟來創(chuàng)建 Spring 項目的具體過程。

1.1 創(chuàng)建 Maven 項目


創(chuàng)建好后其目錄結構如下:

1.2 添加 Spring 框架支持

  1. 在 Maven 中央倉庫搜索 Spring,選擇 “Spring Context”:
  2. 選擇 5.xxxx版本

  1. 選擇 Maven,然后將其復制粘貼到 pom.xml 文件中


最后的 pom.xml文件樣式如下:

1.3 添加啟動類

即在 Java 目錄下創(chuàng)建一個類,其中包含一個 main 方法即為啟動類:

二、儲存 Bean 對象

什么是 Bean:

在 Spring 框架中,Bean 是一個非常重要的概念,它是Spring容器中被管理和維護的對象。Bean 可以是任何的Java對象,例如 POJO(Plain Old Java Object)、實體類、服務類等。這些對象在 Spring 容器中被實例化、組裝、管理和銷毀,以提供各種功能和服務

儲存 Bean 分為兩個步驟:

  1. 先創(chuàng)建 Bean 類;
  2. 然后將創(chuàng)建的 Bean 注冊到 Spring 容器中。

2.1 創(chuàng)建 Bean

此處以一個 Student 類為例:

public class Student {public Student(){System.out.println("init student");}public void sayHi(){System.out.println("Hi, I am a student.");}
}

2.1 將 Bean 注冊到 Spring 容器

要想將 Bean 對象注冊到 Spring 容器中,首先需要在 resources 目錄下創(chuàng)建一個配置文件,一般取名為 spring-config.xml

Spring 配置文件的固定為以下內(nèi)容:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
</beans>

然后將 Student 對象注冊到 Spring 中,即在 <beans>添加以下配置:

其中 id 字段表示給 Bean 取的名,class 字段則是 包名 + 類名

三、獲取并使用 Bean 對象

獲取并使用 Bean 對象也大致可分為以下三步:

  1. 獲取 Spring 上下文對象,因為對象都交給 Spring 管理了,所有要獲取 Spring 中的 Bean,首先就需要獲取 Spring;
  2. 通過回去的 Spring 上下文對象,獲取指定的 Bean 對象;
  3. 使用 Bean 對象。

3.1 獲取Spring 上下文

獲取 Spring 上下文對象的方式主要有兩個,即使用ApplicationContextBeanFactory來獲取。

1. 使用ApplicationContext獲取

    public static void main(String[] args) {ApplicationContext context =new ClassPathXmlApplicationContext("spring-config.xml");}

2. 使用BeanFactory獲取

    public static void main(String[] args) {BeanFactory beanFactory =new XmlBeanFactory(new ClassPathResource("spring-config.xml"));}

3.2 ApplicationContext 和 BeanFactory 的區(qū)別

此時,分別執(zhí)行 ApplicationContextBeanFactory 獲取 Spring 上下文對象的 main方法:

ApplicationContext


此時,可以發(fā)現(xiàn)當使用 ApplicationContext獲取 Spring 上下文的時候,會立即初始化 Spring 容器中的 Bean 對象。

BeanFactory


當使用BeanFactory 獲取 Spring 上下文的時候,并沒有立即初始化 Spring 中的 Bean 對象,而是在獲取 Bean 對象的時候才初始化,即是一種懶加載模式。

ApplicationContextBeanFactory之間的區(qū)別可總結如下:

繼承關系和功能層面:

  • ApplicationContext 接口繼承了 BeanFactory 接口,其中 BeanFactory 提供了基礎的訪問容器的能力,而 ApplicationContext 除了繼承 BeanFactory的所有功能之外,還擁有獨特的功能,比如添加了對國際化的支持、資源的訪問支持、事件傳播等方面的支持。

性能方面:

  • ApplicationContext 是?次性加載并初始化所有的 Bean 對象,而 BeanFactory 是需要哪個 Bean 對象的時候才會去加載,因此更加輕量。
  • 因此當性能要求較高而內(nèi)存充足的場景下推薦使用 ApplicationContext;而在內(nèi)存空間較小,對性能要求不高的場景下推薦使用BeanFactory

3.3 獲取指定的 Bean 對象

  1. 直接通過 Bean 對象的名稱獲取
ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
Student student = (Student) context.getBean("student");

getBean方法直接通過 Bean 對象的名稱獲取返回的是一個 Object 對象,因此需要強制類型轉(zhuǎn)換。

  1. 通過 Bean 的類型獲取
ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
Student student = context.getBean(Student.class);

getBean方法通過 Bean 對象的類型獲取,此時不需要進行強制類型轉(zhuǎn)換,但是這種方法存在一個問題:如果當 Spring 容器中存在多個相同類型的 Bean 對象的時候就會出現(xiàn)歧義,即找不到返回哪個對象。

比如在 Spring 容器中再添加一個 Student 對象:

此時啟動 main 函數(shù)的時候,就會出現(xiàn)如下問題:


此時,Spring 容器中存在兩個相同類型的 Bean 對象,而通過類型獲取的話,就不知道獲取哪一個了。因此要解決這個問題就可以采用 通過 Bean 名稱 + 類型獲取

  1. 通過 Bean 名稱 + 類型獲取
    public static void main(String[] args) {ApplicationContext context =new ClassPathXmlApplicationContext("spring-config.xml");Student student = context.getBean("student", Student.class);Student student2 = context.getBean("student2", Student.class);student.sayHi();student2.sayHi();}

此時,通過 Bean 名稱 + 類型獲取的方式,即使是 Spring 容器中存在多個相同類型的 Bean 對象,但由于其名稱不同,也能夠正確獲取到指定的 Bean 對象。

四、總結

以上詳細介紹了 Spring 項目的創(chuàng)建和使用過程,下面是對其整個流程的總結。

  1. 通過 Maven 項目創(chuàng)建 Spring 項目,并且還要添加對 Spring 框架的支持;
  2. 創(chuàng)建 Bean 對象,然后通過 spring-config.xml 配置文件將其儲存到 Spring 容器中;
  3. 獲取 Bean 對象:
    • 首先通過 ApplicationContext 或者 BeanFactory 獲取配置文件,即獲取 Spring 上下文對象。
    • 通過 getBean 方法獲取 Bean 對象。
    • 使用 Bean 對象。
http://www.risenshineclean.com/news/30352.html

相關文章:

  • 網(wǎng)站建設利益分析合肥網(wǎng)站seo推廣
  • 建立健全制度如何推廣seo
  • 網(wǎng)站建設 售后服務seo下拉優(yōu)化
  • 鄭州正規(guī)網(wǎng)站設計價格seo門戶
  • 漳州網(wǎng)站優(yōu)化下載百度導航app
  • 交友網(wǎng)站建設惠城網(wǎng)站設計
  • 任縣企業(yè)做網(wǎng)站怎么推廣淘寶店鋪
  • 織夢手機網(wǎng)站源碼下載可口可樂軟文范例
  • 淘寶客優(yōu)惠券網(wǎng)站怎么做的google怎么推廣
  • 怎么在網(wǎng)上做公司網(wǎng)站如何創(chuàng)建自己的網(wǎng)址
  • 建設兵團12師教育局網(wǎng)站淘寶一個關鍵詞要刷多久
  • wordpress自己寫代碼百度自然排名優(yōu)化
  • 煙臺龍口網(wǎng)站建設百度收錄最新方法
  • 天津建設銀行網(wǎng)站深圳百度推廣代理商
  • 保定建設信息網(wǎng)站百度外推代發(fā)排名
  • 有一個網(wǎng)站叫浪什么網(wǎng)站優(yōu)化比較好的公司
  • 導購網(wǎng)站怎么做有特色友情鏈接頁面
  • 網(wǎng)站怎么做 吸引人上海做關鍵詞推廣企業(yè)
  • 如何做網(wǎng)站推廣的方案設計企業(yè)推廣哪個平臺好
  • web網(wǎng)站開發(fā)的設計思想公司域名查詢官網(wǎng)
  • 做企業(yè)網(wǎng)站首頁尺寸百度關鍵詞網(wǎng)站排名優(yōu)化軟件
  • 如何在導航網(wǎng)站上做鏈接優(yōu)化近義詞
  • 做網(wǎng)站外包網(wǎng)頁設計與制作代碼
  • 長沙建站公司模板百度seo快速排名優(yōu)化軟件
  • 福建省華榮建設集團有限公司網(wǎng)站長春網(wǎng)絡推廣優(yōu)化
  • 個人網(wǎng)站logo青島網(wǎng)站制作推廣
  • 免費域名查詢網(wǎng)站推廣app最快的方法
  • 創(chuàng)建一個網(wǎng)頁多少錢sem優(yōu)化托管
  • wordpress ios 默認合肥seo網(wǎng)站排名
  • 專注做蔬菜的網(wǎng)站汕頭seo管理